javascript - 为函数添加条件,使其仅在特定情况下运行

标签 javascript

我现在正在用 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/

相关文章:

javascript - 如何在 Rails 中使一组 <td> 可链接?

javascript - 从网络调试 - 嵌入式板

javascript - 极小极大算法的井字游戏

javascript - 谷歌地图中的多个标记,多个 map

javascript - 如何在javascript中将字符串解析为特定的日期格式

javascript - React - 循环遍历多个嵌套数组json对象响应然后更新状态

Javascript/HTML5 : get current time of audio tag

javascript - 对象上的流体和动态动画出现和消失(HTML/JS/CSS)

javascript - 在 Meteor React 组件中显示用户名

javascript - 如何使用 Wijmo 网格获取选择更改的对象值