我有一个非常简单的JavaScript tic tac toe游戏,目前似乎运行良好。它由一个包含X和O的数组组成,不允许两次相同的点选择,并且计算机转向基于生成的随机数,该数字仍然在数组中打开。
我唯一的问题是宣布获胜者(计算机或人)时该怎么办。
此时,我需要结束运行游戏的JavaScript,直到用户选择重置电路板并重新开始。
这需要我努力解决的两个细节:
我需要tic tac toe board的部分成为" unlickable"或者在宣布获胜者后不再注册点击次数。目前即使决定赢了或输了一场比赛,如果剩下空白空间,用户可以继续在棋盘上标记这些空间。
解决上述问题应该有助于解决这个问题,但是一旦宣布游戏获胜者,完全停止游戏也可能会很好。目前,再次因为用户可以继续点击开放空间(如果存在),只要在棋盘上存在胜利,计数器(为用户计算胜利)将继续增加。尽管如此,通过解决问题1,也可以传递地解决这个问题,因为点击不起作用,因此计数器不会增加。
答案 0 :(得分:0)
如果结束游戏只是让方块不响应点击,那么你可以创建一个绑定到盒子点击事件的函数。
例如,如果每个框都是一个带有“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();
}