Не работают два метода .fill_field() и .draw_field()
function cell_state() {
this.is_mine = false;
this.is_open = false;
this.mine_around = 0;
}
var game = {
width: 10,
height: 10,
mine_count: 10,
open_count: 0,
field: [],
fill_field: function () {
for (var x = 0; x < game.width; x++) {
for (var y = 0; y < game.height; y++) {
game.field.push(new cell_state());
}
}
for (var i = 0; i < game.mine_count; i++) {
var xx = Math.floor(Math.random * game.width);
var yy = Math.floor(Math.random * game.height);
if (!game.field[xx][yy].is_mine) {
game.field[xx][yy].is_mine = true;
} else {
i--;
}
}
},
draw_field: function() {
$("body").append("
");
}
}
}
};
game.fill_field();
game.draw_field();
Ответfunction cell_state() { this.is_mine = false; this.is_open = false; this.mine_around = 0; } var game = { width: 10, height: 10, mine_count: 10, open_count: 0, field: [], fill_field() { for (var x = 0; x < game.width; x++) { // 1: У вас дальше в коде идёт обращение таким образом: game.field[xx][yy] // А field вы делаете одномерным массивом. Тут надо создавать массив-столбец: var row = []; game.field.push(row); for (var y = 0; y < game.height; y++) { // И клетки класть в него, а не прямо в field row.push(new cell_state()); } } for (var i = 0; i < game.mine_count; i++) { // 2: Math.random это функция (скобки забыли) var xx = Math.floor(Math.random() * game.width); var yy = Math.floor(Math.random() * game.height); if (!game.field[xx][yy].is_mine) { game.field[xx][yy].is_mine = true; } else { i--; } } }, draw_field: function() { $("body").append("
|
Комментариев нет:
Отправить комментарий