javascript - 这些函数里边的代码
本文介绍了javascript - 这些函数里边的代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
新手求大神解释下函数里面的代码 在此谢谢了 感谢
var guojing=new Object();
guojing.name="郭靖"
guojing.HP=500;
guojing.gj=90;
guojing.sd=60;
guojing.skill=new Array('亢龙有悔','飞龙在天','见龙在田','鸿渐于陆','潜龙勿用')
var ouyang=new Object();
ouyang.name='欧阳锋';
ouyang.HP=800;
ouyang.gj=100;
ouyang.sd=40;
ouyang.skill=new Array('灵蛇棍法','凤凰神力','颠倒阴阳','逆转静脉','天蟾神功')
function whoGjwho(a,b){
return a.sd*Math.random()>b.sd*Math.random()?[a,b]:[b,a]
}
function game(){
var skillIndex=Math.floor(Math.random()*5)
var Fight=whoGjwho(guojing,ouyang);
var attacker=Fight[0] 这里为什么变成数组了呢? 这里有点模糊不太明白
var defender=Fight[1]
var damage=attacker.gj*Math.random()-defender.gj*Math.random();
if(damage<=0){
damage=0
}else{
damage=Math.ceil(damage);
}
defender.HP-=damage;
document.write(attacker.name+"使用了一招"+attacker.skill[skillIndex]+'<br>')
document.write(defender.name+"损失了"+damage+'点HP'+'<br>')
if (defender.HP>0) {
document.write(defender.name+"的HP:"+defender.HP+'<br>'+attacker.name+'的HP:'+attacker.HP+'<hr>')
}else{
document.write(defender.name+'战败了'+'<br>'+attacker.name+'取得了胜利!'+'<br>')
alert(attacker.name+'取得了胜利!'+'Gmame Over!')
clearInterval(zd)
}
}
var zd=setInterval('game()',50)
解决方案
function whoGjwho(a,b){
return a.sd*Math.random()>b.sd*Math.random()?[a,b]:[b,a]
}
这个函数返回值是一个 数组, [a, b]
或者[b, a]
. 所以:
var Fight=whoGjwho(guojing,ouyang);
var attacker=Fight[0]
Fight
是一个数组.
这篇关于javascript - 这些函数里边的代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文