0

我正忙着用nodejs来修改游戏,但我想知道如何做这样的事情:

var zombieDirector = 
{
zombieBison = 1
zombieChicken = 2
zombie = 3
skeleton = 3
}

并且这些名称有另一个变量,例如

var zombieBison = 'Entities/Zombies/zombieBison.cfg'

现在让野牛生成稀有,骷髅和僵尸更频繁。你明白了,其中 randomZombie 等于 'Entities/Zombies/aZombie.cfg' ks.map.spawnEntity('zombie', randomZombie, 0, 0, 3); 我不能比

    var randomZombie = zombieDirector[Math.floor(Math.random() * zombieDirector.length)];

另一方面:请不要使用 JQuery

提前致谢

4

1 回答 1

1

本质上,您是在谈论加权随机数生成。有点棘手,如果你想使用数学,但你可以用数组来做,像这样:

var choices = [];
for(prop in zombieDirector) {
    for(var i = 0; i<zombieDirector[prop]; i++) {
        choices.push(prop);
    }
}

var choice = choices[Math.floor(Math.random() * choices.length + .5)];

该变量choice现在将有一个随机的怪物名称,根据您在 中提供的数字加权zombieDirector

于 2013-04-26T16:01:54.257 回答