在不同模块中更改变量

时间:2016-11-14 14:46:20

标签: javascript

我正在创建一个扫雷游戏,我正在寻找用户根据游戏板中的行数设置的旗帜数量。我在不同的模块中有这两件事,我不知道为什么我不能让模块正确地进行通信。显然,我做错了什么,但我无法弄清楚是什么。

var gameboard = (function() {

var initialize = function(rows, cols) {
    var flags = 0;
    for(var x = 0; x < rows; x++) {
            flags++;
            for(var y = 0; y < cols; y++) {
                var unit = $("<div class='unit'></div>");
                unit.width(($('#gameboard').width() / cols) - 2).height(($('#gameboard').height() / rows) - 2).appendTo('#gameboard');
            }
        }

    addId(rows, cols);
    gatherMines(rows);
    setFlags(flags);
};

var setFlags = function(number) {
    gamePlay.flagCount = number;
}

return {
    initialize: initialize,
    flags: setFlags
};

}());
var gamePlay = (function() {

var flagCount;

return {
    go: go,
    flagCount: flagCount
};

}());

1 个答案:

答案 0 :(得分:0)

考虑gamePlay一个对象:

var Gameplay = function(flagCount) {
    this.flagCount = flagCount;
};

您现在可以在Gameboard对象中创建GamePlay对象的实例。例如,在initialize方法中:

var gp = {};

var initialize = function(){
    gp = new Gameplay(0);
}

您现在可以在任何地方使用gp,只要initialize()已执行。