var hero:Object=new Object();// 创建对象英雄
var monster:Object=new Object();//创建对象怪物
hero.name="勇士"; //设定各个属性值 以及 名称
hero.HP=1000;
hero.ATT=440;
hero.DEF=80;
hero.AGI=50;
hero.skill1="十字斩";
hero.skill2="拔刀斩";
hero.skill3="极鬼剑术";
monster.name="远古冰龙"; //设定各个属性值以及名称
monster.HP=2000;
monster.ATT=220;
monster.DEF=120;
monster.AGI=62;
monster.skill1="龙吟";
monster.skill2="扫尾";
monster.skill3="寒冰之息";
stage.addEventListener(MouseEvent.CLICK,round);//舞台点击侦听
function whoAttacks(a:Object,b:Object):Array {//回合攻击随机
return a.AGI*Math.random() > b.AGI*Math.random()?[a,b]:[b,a];//三目运算符的利用
}
function round(e:MouseEvent) {
var damage:Number;//回合伤害计算
var whatSkill: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) {//如果没有破防
damage=0;//攻击伤害为0
} else {
damage=Math.ceil(damage);//伤害取整
}
defender.HP-=damage;// 防守方的生命之 相减 并赋值回合伤害
if (damage<attacker.ATT/3) {//假如回合伤害小于攻击者攻击力的三分之一
whatSkill=1;//判定为技能1
}
if (damage<attacker.ATT*3/5) {//假如回合伤害小于攻击者的 5分之3
whatSkill=2;//判定为技能2
} else {
whatSkill=3;//否则判定为技能3
}
trace(attacker.name+"使用"+attacker["skill"+whatSkill]+"对"+defender.name+"造成了"+damage+"点伤害\n");
if(defender.HP<=0){//当防守方的生命小于等于0的时候
trace(attacker.name+"战胜了"+defender.name+"\n"+defender.name+"倒下了!")//输出攻击者的名字战胜了防守方的名字,防守方的名字倒下了
stage.removeEventListener(MouseEvent.CLICK,round)//移除舞台点击侦听器
return;
}
trace(defender.name+"还剩"+defender.HP+"点HP\n\n")
}
var monster:Object=new Object();//创建对象怪物
hero.name="勇士"; //设定各个属性值 以及 名称
hero.HP=1000;
hero.ATT=440;
hero.DEF=80;
hero.AGI=50;
hero.skill1="十字斩";
hero.skill2="拔刀斩";
hero.skill3="极鬼剑术";
monster.name="远古冰龙"; //设定各个属性值以及名称
monster.HP=2000;
monster.ATT=220;
monster.DEF=120;
monster.AGI=62;
monster.skill1="龙吟";
monster.skill2="扫尾";
monster.skill3="寒冰之息";
stage.addEventListener(MouseEvent.CLICK,round);//舞台点击侦听
function whoAttacks(a:Object,b:Object):Array {//回合攻击随机
return a.AGI*Math.random() > b.AGI*Math.random()?[a,b]:[b,a];//三目运算符的利用
}
function round(e:MouseEvent) {
var damage:Number;//回合伤害计算
var whatSkill: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) {//如果没有破防
damage=0;//攻击伤害为0
} else {
damage=Math.ceil(damage);//伤害取整
}
defender.HP-=damage;// 防守方的生命之 相减 并赋值回合伤害
if (damage<attacker.ATT/3) {//假如回合伤害小于攻击者攻击力的三分之一
whatSkill=1;//判定为技能1
}
if (damage<attacker.ATT*3/5) {//假如回合伤害小于攻击者的 5分之3
whatSkill=2;//判定为技能2
} else {
whatSkill=3;//否则判定为技能3
}
trace(attacker.name+"使用"+attacker["skill"+whatSkill]+"对"+defender.name+"造成了"+damage+"点伤害\n");
if(defender.HP<=0){//当防守方的生命小于等于0的时候
trace(attacker.name+"战胜了"+defender.name+"\n"+defender.name+"倒下了!")//输出攻击者的名字战胜了防守方的名字,防守方的名字倒下了
stage.removeEventListener(MouseEvent.CLICK,round)//移除舞台点击侦听器
return;
}
trace(defender.name+"还剩"+defender.HP+"点HP\n\n")
}