Почему X или O не всплывают при нажатии?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему X или O не всплывают при нажатии?

Сообщение Anonymous »


Я хочу создать простую игру в крестики-нолики, которую можно будет отображать на веб-сайте с помощью 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') Я думаю, это потому, что я не обновил страницу, но, честно говоря, я не очень уверен.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»