【发布时间】:2011-05-09 23:49:38
【问题描述】:
function genEnemy(a) {
//javascript:alert(en[0]+'\n'+genEnemy(en[0])+'\n'+en[0])
with (Math) {
a[1]=round(a[1]*(.5+random()))
a[2]=round(a[2]*(1+random()))
for (var b=0;b<5;b++) a[3][b]=round(a[3][b]*(a[3][b]/2+random()*a[3][b]/10))
for (var b=0;b<a[4].length;b++) random()<it[a[4][b]][3]/10?a[4][b]=0:0
}
return a
}
在给定每个敌人阵列的基地的情况下生成敌人统计数据的脚本。 (角色扮演游戏) 问题是,当我期望它返回一个包含新统计数据的数组时,它也会将敌人数组设置为新数组。为什么是这样?显然,您可以看到问题是如何由此引起的(基地正在改变,因此弱小的敌人可以变得超级强大)。我将如何阻止它在 en(敌人值数组)中设置数组?
【问题讨论】:
-
我没有按照你想要的去做,你的变量名使得很难根据描述来解码你的代码。
-
with (Obj)可能很危险,请务必阅读this。
标签: javascript arrays variables return