宣布在线游戏的赢家结束交互

时间:2012-11-14 04:04:48

标签: javascript jquery html javascript-events

我有一个非常简单的JavaScript tic tac toe游戏,目前似乎运行良好。它由一个包含X和O的数组组成,不允许两次相同的点选择,并且计算机转向基于生成的随机数,该数字仍然在数组中打开。

我唯一的问题是宣布获胜者(计算机或人)时该怎么办。

此时,我需要结束运行游戏的JavaScript,直到用户选择重置电路板并重新开始。

这需要我努力解决的两个细节:

  1. 我需要tic tac toe board的部分成为" unlickable"或者在宣布获胜者后不再注册点击次数。目前即使决定赢了或输了一场比赛,如果剩下空白空间,用户可以继续在棋盘上标记这些空间。

  2. 解决上述问题应该有助于解决这个问题,但是一旦宣布游戏获胜者,完全停止游戏也可能会很好。目前,再次因为用户可以继续点击开放空间(如果存在),只要在棋盘上存在胜利,计数器(为用户计算胜利)将继续增加。尽管如此,通过解决问题1,也可以传递地解决这个问题,因为点击不起作用,因此计数器不会增加。

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();
}