长时间潜伏者,第一次潜伏者! (建议多加赞赏)。
我正在构建一个Tic Tac Toe游戏,该游戏在浏览器中使用JavaScript在幕后进行播放。板上的每个空间都是一个按钮。
如果有人获胜,则应禁用所有按钮,页面应显示
赢家。
我的问题是,即使有人获胜,也需要再单击一次按钮,才能在页面上显示“游戏结束”消息。应该禁用按钮,因为已经达到了胜利的情况。为什么直到下一次“点击”事件才识别出该事件?以及如何在达到最终情况时确保游戏结束?
这是连接到游戏板上每个按钮的事件侦听器的代码。 (已减少)。
buttonX.addEventListener("click", function(){
//The clicked buttons textContent should update to X or O (marker)
//depending on which players turn it is.
buttonX.textContent = getCurrentPlayer().marker;
buttonX.disabled = true;
turnNumber++;
if (checkisWin()==true) {
displayMessage("GAME OVER");
}
//if 9 turns have passed, and no one has won, its a tie
if (turnNumber == 9 && checkisWin()==false) {
displayMessage("No One Wins");
}
});
function displayMessage(someMessage) {
parentSelected = document.querySelector('#container');
messageContent = document.createElement('h2');
messageContent.textContent = someMessage;
parentSelected.appendChild(messageContent);
}