【发布时间】:2016-03-02 18:00:00
【问题描述】:
我有一个从对象中随机选择怪物的函数。函数如下:
var travel = function(direction) {
var newRoom = rooms[currentRoom.paths[direction]];
if (!newRoom) {
$("<p>You can't go that way.</p>").properDisplay();
}
else {
currentRoom = newRoom;
$("<p>You are now in the " + currentRoom.name + " Room.</p>").properDisplay();
if (currentRoom.hasMonsters) {
function pickRand() {
var monsterArray = Object.keys(monsters);
var randomKey = Math.floor(Math.random() * monsterArray.length);
return $("<p>Holy Crap! There's a " + monsterArray[randomKey] + " in here!</p>").properDisplay();
}
pickRand();
}
}
};
这是对象:
var monsters = {
zombie: {
hitPoints: 10,
loot: "magic knife"
},
skeleton: {
hitPoints: 15,
loot: "magic shield"
},
ghoul: {
hitPoints: 12,
loot: "magic helm"
}
};
设置为随机选择“僵尸”、“骷髅”或“食尸鬼”。一切正常。如何获取随机选择的内容并将其保存到变量中?
我尝试了一些类似的方法:
var beast = pickRand();
和
var beast = monsterArray;
但没有运气。我错过了什么?
【问题讨论】:
-
properDisplay返回什么? -
它添加了一些 CSS 并在游戏中添加了一些文本。它比任何东西都更美观。
-
您的
pickRand函数将返回properDisplay的返回值。为什么不只是return monsterArray[randomKey] -
如果我做了退货,我以后怎么调用呢?抱歉,还在努力学习 JS。我正在尝试做的是将随机值分配给一个变量,以便稍后在您决定与怪物战斗时使用它。我希望能够调用按名称随机生成的任何怪物。 (僵尸、食尸鬼等)。
标签: javascript arrays variables object random