我现在正在用 javascript 开发一个文本游戏,并且有一个拿起剑的功能。
var takeSword = function() {
if (currentRoom.hasSword) {
$("<p>You picked up a sword.</p>").properDisplay();
}
else {
$("<p>The sword is not here.</p>").properDisplay();
}
};
我的问题是,只要你和剑在同一个房间,你就可以一遍又一遍地捡起它。如何设置一旦拿起剑就无法再拿起的功能?
我最初的想法是设置一个像 var Sword = false;
这样的变量,然后当函数运行时设置 sword = true;
但这不起作用。
这不是我的全部代码,上面有一个对象设置了 `hasSword = true;'这样剑就可以在第一时间被拾取,并且不能在游戏的不同房间中拾取。
最佳答案
也许是这样的?
var GameState = {
worldHasSword: true,
playerHasSword: false,
takeSword: function() {
if( this.worldHasSword ) {
this.worldHasSword = false;
this.playerHasSword = true;
$("<p>You picked up a sword.</p>").properDisplay();
}
else {
$("<p>The sword is not here.</p>").properDisplay();
}
}
}
GameState.takeSword();
关于javascript - 为函数添加条件,使其仅在特定情况下运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33600837/