Не работают два метода .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("<table>");
for (var x = 0; x < game.width; x++) {
$("table").append("<tr>");
for (var y = 0; y < game.height; y++) {
$("tr").append("<td>");
}
}
}
};
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("<table>");
for (var x = 0; x < game.width; x++) {
$("table").append("<tr>");
for (var y = 0; y < game.height; y++) {
// 3: Какую именно строку таблицы вы тут получаете?
// $("tr").append("<td>");
// Вам нужна последняя:
$("tr:last-child").append(`<td class="${game.field[x][y].is_mine?'ismine':''}">`);
}
}
}
};
game.fill_field();
game.draw_field();
td{
width: 10px;
height: 10px;
border: 1px solid black;
}
td.ismine{
background: black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Стремлюсь узнать как этот же код на c# написать на jsЯ закомментил все что должно быть переведено в код на js
Стоит задача: когда пользователь заходит на страницу, то выпадает меню сверху с запросом на соглашение хранения cookieКак это сделать?
Вообщем, написал бота, но он при нажатии кнопки выдает ошибку: