我正在创建一个扫雷游戏,我正在寻找用户根据游戏板中的行数设置的旗帜数量。我在不同的模块中有这两件事,我不知道为什么我不能让模块正确地进行通信。显然,我做错了什么,但我无法弄清楚是什么。
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
};
}());
答案 0 :(得分:0)
考虑gamePlay
一个对象:
var Gameplay = function(flagCount) {
this.flagCount = flagCount;
};
您现在可以在Gameboard对象中创建GamePlay
对象的实例。例如,在initialize
方法中:
var gp = {};
var initialize = function(){
gp = new Gameplay(0);
}
您现在可以在任何地方使用gp
,只要initialize()
已执行。