побеждает один из игроков как сделать так чтобы после на пустую клетку нельзя было нажать и чтото вводить?
let cells = document.querySelectorAll('.pixel');
let btn = document.querySelector('button')
start(cells)
function start(cells) {
let i = 0;
for (let cell of cells) {
cell.addEventListener('click', function step() {
this.innerHTML = ['X', 'O'][i % 2];
this.removeEventListener('click', step);
console.log(cell)
i++;
if (isVictory(cells)) {
alert(this.innerHTML); // выводим имя победителя
}else if (i == 8) {
alert('ничья');
}
});
}
}
function isVictory(cells) {
let combs = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
[0, 4, 8],
[2, 4, 6],
];
for (let comb of combs) {
if (
cells[comb[0]].innerHTML == cells[comb[1]].innerHTML &&
cells[comb[1]].innerHTML == cells[comb[2]].innerHTML &&
cells[comb[0]].innerHTML != ''
) {
return true;
}
}
return false;
}
btn.addEventListener('click', reset)
function reset(){
document.location.reload(true);
}
Постишь своё полотно в третий раз за полчаса
это напоминание? чтоб я не забыл сколько раз постил?
Это намёк на то что так делать невежливо
хорошо простите
Еще разок запости может забанят
когда кто-то победил, удали обработчик клика с кнопок
for (let cell of cells) { cell.addEventListener('click', function step() { this.innerHTML = ['X', 'O'][i % 2]; this.removeEventListener('click', step); if (isVictory(cells)) { cell.removeEventListener('click') }else if (i == 8) { } console.log(cell) i++; }); непомогает
Обсуждают сегодня