Javascript 宣布在线游戏获胜者后结束互动
我有一个非常简单的JavaScript tic-tac-toe游戏,目前运行良好。它由一个包含X和O的数组组成,不允许两次选择同一个点,并且计算机将基于生成的随机数进行切换,该随机数在数组中仍然打开 我唯一剩下的问题是当宣布胜利者时该怎么办(计算机或人工) 此时,我需要结束运行游戏的JavaScript,直到用户选择重置棋盘并重新开始 这涉及到两个我正在努力解决的细节:Javascript 宣布在线游戏获胜者后结束互动,javascript,jquery,html,javascript-events,Javascript,Jquery,Html,Javascript Events,我有一个非常简单的JavaScript tic-tac-toe游戏,目前运行良好。它由一个包含X和O的数组组成,不允许两次选择同一个点,并且计算机将基于生成的随机数进行切换,该随机数在数组中仍然打开 我唯一剩下的问题是当宣布胜利者时该怎么办(计算机或人工) 此时,我需要结束运行游戏的JavaScript,直到用户选择重置棋盘并重新开始 这涉及到两个我正在努力解决的细节: 我需要tic tac趾板的扇区变得“不可点击”,或者在宣布获胜者后不再注册点击。目前,即使在游戏决定胜负之后,如果还有剩余的空
如果结束游戏仅仅是让方块不响应点击,那么您可以创建一个绑定到方块点击事件的函数 例如,如果每个框都是一个带有“box”类的链接,则可以执行以下操作:
var boxes = document.getElementsByClassName('box');
for(var key in boxes) {
boxes[key].onclick = function(e) {
e.preventDefault();
}
或者,使用jQuery
$(document).on("click", ".boxes", function(e) {
e.preventDefault();
}
在找到获胜者后,您可以这样做:
var endGame = function() {
$(document).on("click", ".boxes", function(e) {
e.preventDefault();
}
}
if ( there is a winner ) {
endGame();
}
一个简单的想法是添加一个标志,表明游戏已经结束。然后在棋盘空格的点击事件处理程序中,检查游戏结束标志是否为true->停止处理;false->标记空格。@TactMayers这似乎很简单。我是javascript新手,无法在线找到使用事件处理程序的语句停止处理部分的示例。您能否提供一个简短的代码示例?顺便说一句,我正在使用jquery作为点击处理程序,但如果您只知道如何在常规javascript中实现它,我会找到答案!我喜欢你的方法。然而,我担心的是,一旦我使用我的重置按钮,它简单地将棋盘(所有空格都是空白的)和数组重置为空白,我将如何再次更新javascript以告诉游戏它应该可以再次单击?希望您能理解我的意思如果您使用jQuery,您可以执行$(document).off(“单击“,”.box”)将方框设置回正常状态。当按下重置按钮时,可以执行此操作。