该类有一个方法:
constructor(id) {
this.position = [6, 4];
this.LABYRINTH = init2DArray(8, 8, {lookaround: false, events: false});
this.lookedaround.bind(this);
}
lookedaround() {
//this.position задан в конструкторе: this.position = [6, 4];
this.LABYRINTH[this.position[0]][this.position[1]].lookaround = true;
}
空白数组填充功能:
function init2DArray(xlen, ylen, data) {
var ret = [];
for (var x = 0; x < xlen; x++) {
ret[x] = [];
for (var y = 0; y < ylen; y++) {
ret[x][y] = data;
}
}
return ret;
}
当我简单地调用该方法时,lookedaround整个数组被覆盖,将每个值替换为true. 我不明白为什么会这样……
而已:
player.LABYRINTH.forEach((e, o) => {
e.forEach((i, p) => {
console.log(`[${o}, ${p}] = ${i.lookaround}`);
});
});
[0, 0] = false
[0, 1] = false
[0, 2] = false
[0, 3] = false
[0, 4] = false
[0, 5] = false
[0, 6] = false
[0, 7] = false
[1, 0] = false
[1, 1] = false
[1, 2] = false
[1, 3] = false
[1, 4] = false
[1, 5] = false
[1, 6] = false
[1, 7] = false
[2, 0] = false
[2, 1] = false
[2, 2] = false
[2, 3] = false
[2, 4] = false
[2, 5] = false
[2, 6] = false
[2, 7] = false
[3, 0] = false
[3, 1] = false
[3, 2] = false
[3, 3] = false
[3, 4] = false
[3, 5] = false
[3, 6] = false
[3, 7] = false
[4, 0] = false
[4, 1] = false
[4, 2] = false
[4, 3] = false
[4, 4] = false
[4, 5] = false
[4, 6] = false
[4, 7] = false
[5, 0] = false
[5, 1] = false
[5, 2] = false
[5, 3] = false
[5, 4] = false
[5, 5] = false
[5, 6] = false
[5, 7] = false
[6, 0] = false
[6, 1] = false
[6, 2] = false
[6, 3] = false
[6, 4] = false
[6, 5] = false
[6, 6] = false
[6, 7] = false
[7, 0] = false
[7, 1] = false
[7, 2] = false
[7, 3] = false
[7, 4] = false
[7, 5] = false
[7, 6] = false
[7, 7] = false
player.lookedaround();
player.LABYRINTH.forEach((e, o) => {
e.forEach((i, p) => {
console.log(`[${o}, ${p}] = ${i.lookaround}`);
});
});
[0, 0] = true
[0, 1] = true
[0, 2] = true
[0, 3] = true
[0, 4] = true
[0, 5] = true
[0, 6] = true
[0, 7] = true
[1, 0] = true
[1, 1] = true
[1, 2] = true
[1, 3] = true
[1, 4] = true
[1, 5] = true
[1, 6] = true
[1, 7] = true
[2, 0] = true
[2, 1] = true
[2, 2] = true
[2, 3] = true
[2, 4] = true
[2, 5] = true
[2, 6] = true
[2, 7] = true
[3, 0] = true
[3, 1] = true
[3, 2] = true
[3, 3] = true
[3, 4] = true
[3, 5] = true
[3, 6] = true
[3, 7] = true
[4, 0] = true
[4, 1] = true
[4, 2] = true
[4, 3] = true
[4, 4] = true
[4, 5] = true
[4, 6] = true
[4, 7] = true
[5, 0] = true
[5, 1] = true
[5, 2] = true
[5, 3] = true
[5, 4] = true
[5, 5] = true
[5, 6] = true
[5, 7] = true
[6, 0] = true
[6, 1] = true
[6, 2] = true
[6, 3] = true
[6, 4] = true
[6, 5] = true
[6, 6] = true
[6, 7] = true
[7, 0] = true
[7, 1] = true
[7, 2] = true
[7, 3] = true
[7, 4] = true
[7, 5] = true
[7, 6] = true
[7, 7] = true

