Решал задачку(найдена на просторах “нета”):
Есть 10 монеток.
При щелчке по любой из них -
переворачиваются сама монетка и две соседние.
У крайних монеток только одна соседняя.
Задача - перевернуть все монетки.
Решение:
let step = 0;
let a;
let b;
let m;
function turn (nr)
{
a = nr - 1;
b = nr + 1;
step ++;
if (a >= 0 && a <= 9)
document.getElementById('c'+a).checked = !document.getElementById('c'+a).checked;
if (b >= 0 && b <= 9)
document.getElementById('c'+b).checked = !document.getElementById('c'+b).checked;
win ();
}
function win ()
{
for ( m = 0; m <= 9; m ++)
if (!document.getElementById('c' + m).checked)
return;
document.write ("Вы победили! Ваш счет: " + step);
}
<input type="checkbox" id="c0" onclick="turn(0)"/>
<input type="checkbox" id="c1" onclick="turn(1)"/>
<input type="checkbox" id="c2" onclick="turn(2)"/>
<input type="checkbox" id="c3" onclick="turn(3)"/>
<input type="checkbox" id="c5" onclick="turn(6)"/>
<input type="checkbox" id="c7" onclick="turn(7)"/>
<input type="checkbox" id="c8" onclick="turn(8)"/>
<input type="checkbox" id="c9" onclick="turn(9)"/>
потому что идентификаторы и аргументы функции turn в инпутах должны быть по порядку
кроч долго объяснять, должно быть так:
тест
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<script>
let step = 0;
let a;
let b;
let m;
function turn(nr) {
a = nr - 1;
b = nr + 1;
step++;
console.log(`a=${a}, nr=${nr}, b=${b}, step=${step}, m=${m}`);
if (a >= 0 && a <= 7)
{document.getElementById('c' + a).checked = !document.getElementById('c' + a).checked;}
if (b >= 0 && b <= 7){
document.getElementById('c' + b).checked = !document.getElementById('c' + b).checked;}
win();
}
function win() {
for (m = 0; m <= 7; m++) {
if (!document.getElementById('c' + m).checked)
return;
}
alert("Вы победили! Ваш счет: " + step);
}
</script>
<body>
<input type="checkbox" id="c0" onclick="turn(0)" />
<input type="checkbox" id="c1" onclick="turn(1)" checked/>
<input type="checkbox" id="c2" onclick="turn(2)" />
<input type="checkbox" id="c3" onclick="turn(3)" checked/>
<input type="checkbox" id="c4" onclick="turn(4)" />
<input type="checkbox" id="c5" onclick="turn(5)" checked/>
<input type="checkbox" id="c6" onclick="turn(6)" />
<input type="checkbox" id="c7" onclick="turn(7)" />
</body>
</html>
шаблонную строку для отладки добавил в консоль, посмотрите шобы красиво было
тут еще надо запустить рандомайзер, чтобы пользователю не голое поле представлялось, а уже с записанными чекбоксами (ну либо самому проставить заранее). мне просто влоооооом.