分享AS3.0_小游戏

代码直接贴出来了:)

希望给大家一些参考,课堂用到的。


var hero:Object = new Object();

var monster:Object = new Object();

//设置勇士的参数

hero.name="英雄";

hero.HP=10000;

hero.ATT=90;

hero.DEF=88;

hero.AGI=60;

hero.skill1="普通攻击";

hero.skill2="升龙拳";

hero.skill3="恶魔之魂";

//设置恶龙的参数

monster.name="恶龙";

monster.HP=10000;

monster.ATT=120;

monster.DEF=100;

monster.AGI=22;

monster.skill1="攻击";

monster.skill2="龙尾击";

monster.skill3="毁灭光线";

 

var timer:Timer = new Timer(1000);

timer.addEventListener(TimerEvent.TIMER,round);

timer.start();

 

function whoAttacks(a:Object,b:Object) {

 

return a.AGI * Math.random() > b.AGI * Math.random()?[a,b]:[b,a];

 

}

function round(e:TimerEvent):void {

//damage为破坏力

var damage:Number;

var skillIndex:uint;

var roundFight:Array=whoAttacks(hero,monster);

var attacker:Object=roundFight[0];

var defender:Object=roundFight[1];

//破坏力等于进攻方攻击力-防守方的防御力

damage = attacker.ATT*Math.random()-defender.DEF*Math.random();

if (damage<=0) {

//如果破坏力为<=0;

damage=0;

}

else{

damage=Math.ceil(damage);

}

defender.HP -= damage;

//判断武器类型

//当破坏力小于进攻方攻击3分1时

if (damage<attacker.ATT/3) {

skillIndex=1;

//当破坏力小于进攻方攻击3分2时

} else if (damage<attacker.ATT*2/3) {

skillIndex=2;

} else {

skillIndex=3;

}

trace(attacker.name+"向"+defender.name+"发动了"+attacker["skill"+skillIndex]+","+defender.name+"损失了"+damage+"点HP");

if (defender.HP<=0){

trace(defender.name+"终于支持不住了"+attacker.name+"取得了胜利");

timer.removeEventListener(TimerEvent.TIMER,round);

trace("Game Over!");

}

trace(hero.name+"HP:"+hero.HP+monster.name+"HP"+monster.HP);

}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注