Я хочу создать простую игру в крестики-нолики, которую можно будет отображать на веб-сайте с помощью Flask. У меня есть сетка, но при нажатии на блок X или O не появляются должным образом.
Это мой HTML:
Крестики-нолики Перезапустить Пример сообщения
Новая игра
Это мой JS-код:
let btnRef = document.querySelectorAll(".button-option"); let popupRef = document.querySelector(".popup"); let newgameBtn = document.getElementById("новая игра"); let restartBtn = document.getElementById("restart"); let msgRef = document.getElementById("сообщение"); //Выигрышный массив шаблонов пусть winPattern = [ [0, 1, 2], [0, 3, 6], [2, 5, 8], [6, 7, 8], [3, 4, 5], [1, 4, 7], [0, 4, 8], [2, 4, 6], ]; //Игрок «X» играет первым пусть xTurn = true; пусть счет = 0; //Отключаем все кнопки const DisableButtons = () => { btnRef.forEach((element) => (element.disabled = true)); //включаем всплывающее окно popupRef.classList.remove("скрыть"); }; //Включаем все кнопки (для новой игры и перезапуска) const EnableButtons = () => { btnRef.forEach((элемент) => { element.innerText = ""; element.disabled = ложь; }); //отключаем всплывающее окно popupRef.classList.add("скрыть"); }; //Эта функция выполняется, когда игрок выигрывает const winFunction = (буква) => { отключить кнопки(); если (буква == "Х") { msgRef.innerHTML = "
'X' побеждает"; } еще { msgRef.innerHTML = "
'O' побеждает"; } }; //Функция для рисования const drawFunction = () => { отключить кнопки(); msgRef.innerHTML = "
Ничья"; }; //Новая игра newgameBtn.addEventListener("клик", () => { счет = 0; включитьКнопки(); }); restartBtn.addEventListener("клик", () => { счет = 0; включитьКнопки(); }); //Выигрываем логику const winChecker = () => { //Проходим по всем шаблонам выигрышей for (пусть i из winPattern) { пусть [элемент1, элемент2, элемент3] = [ btnRef[i[0]].innerText, btnRef[i[1]].innerText, btnRef[i[2]].innerText, ]; //Проверяем, заполнены ли элементы //Если 3 пустых элемента одинаковы и дадут выигрыш, как и if (element1 != "" && (element2 != "") & (element3 != "")) { if (element1 == element2 && element2 == element3) { //Если все 3 кнопки имеют одинаковые значения, передаем значение в winFunction WinFunction (элемент1); } } } }; //Отображать X/O при клике btnRef.forEach((элемент) => { element.addEventListener("клик", () => { если (xTurn) { xTurn = ложь; //Показать X element.innerText = "X"; element.disabled = правда; } еще { хТурн = правда; //Показать Y element.innerText = "О"; element.disabled = правда; } //Увеличиваем счетчик при каждом клике считать += 1; если (счет == 9) { ничьяФункция(); } //Проверяем выигрыш при каждом клике WinChecker(); }); }); //Включаем кнопки и отключаем всплывающее окно при загрузке страницы window.onload = EnableButtons; Это мой код на Python:
из фляги import Flask, render_template приложение = Колба(__name__) @app.route('/') защита дома(): вернуть render_template('index.html') Я думаю, это потому, что я не обновил страницу, но, честно говоря, я не очень уверен.