我有一个代表游戏主板的三维数组。线条和列的传统2D和第三维,因为每个单元格可以是堆栈。这样的事情:
[[[#],[b,#],[b,w,b,b,b,#],[b,#],[b,w,w,b,#]],[[b,#],[b,b,#],[b,b,w,#],[b,b,b,#],[b,b,#]],[[b,#],[b,b,b,b,#],[b,w,#],[b,b,b,#],[b,#]],[[b,#],[b,#],[w,w,w,#],[b,b,w,w,#],[b,w,#]],[[b,#],[b,b,b,b,#],[b,w,b,#],[b,w,#],[b,b,#]]]
我已经解析过了,现在它代表了我的 board 变量。 然后我这样做了:
this.stacks = [];
gameBoard.prototype.loadTiles = function(board){
this.tiles = [];
for(var i=0; i<board.length; i++) {
for (var j = 0; j < board[i].length; j++) {
var stack = board[i][j];
var player = board[i][j].slice(-1)[0];
this.stacks.push(stack);
}
}
this.createTiles(this.stacks);
};
现在我的 this.stacks 是一个包含所有堆栈的向量。 问题是,我需要创建 tiles ,形成堆栈的东西,比如扑克筹码!所以我做了类似的事情:
gameBoard.prototype.createTiles = function(tiles) {
for(var i=0; i<tiles.length; i++) {
var stack = tiles[i];
for(var j=0; j< stack.length; j++) {
var type = stack[j];
//console.log("TYPE" + type);
var player = stack[stack.length - 1];
//console.log("PLAYER" + player);
this.stackPiles = this.createTile(type, this.scene, i*6 + j+100, player);
}
}
这就是我想的问题。我需要在我的图块上调用显示功能,但我需要按行,列和堆栈分组以正确填充我的5x5矩阵:
for (var i = 0; i < this.matrix.length; i++) {
this.matrix[i] = new Array(5);
}
for (var i = 0; i < this.matrix.length; i++) {
for (var j = 0; j < this.matrix.length; j++) {
//this.matrix[i][j] = new gamePiece(scene, 1 + i*this.matrix.length + j);
}
}
我该怎么做。如何从堆栈数组中的每个元素创建切片,然后将它们放在我的2D矩阵上,以便(再次)调用每个元素上的显示函数?
谢谢你, 此致