2017-01-24 30 views
0

我正在javascript/jquery中制作一个简单的tic tac脚趾游戏,我不知道如何检查是否有人赢了。 这是gamefield:tic tac脚趾javascript答案检查

<div id="gamefield"> 
      <table border="0"> 
       <tr> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
       </tr> 
       <tr> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
       </tr> 
       <tr> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
        <td><img alt="" title="" src="img/empty.jpg" /></td> 
       </tr> 
      </table> 
     </div> 

这是改变empty.jpg成cross.jpg或circle.jpg的代码:

$("#gamefieldtr td").click(function (event) { 
if($(".game-button").html() == "Reset game" && $(this).children().attr("src") == "img/empty.jpg") { 

    if(randomStart == 0){ 
     var val = $(this).children().attr('src', 'img/cross.jpg'); 
     randomStart = 1; 
     $(this).children().unbind("click"); 
    } 
    else { 
     var val = $(this).children().attr('src', 'img/circle.jpg'); 
     randomStart = 0; 
     $(this).children().unbind("click"); 
    } 
} 
if ($(".game-button").html() == "Start game") { 
    alert("you can't start"); 
} 
}); 

,这是randomstart代码:

var randomStart = Math.floor(Math.random() * 2); 
+0

您可以将模型保留在3,3号矩阵上,检查行或列或对角线是否可以取胜 –

回答

1

React tutorial实现了一个TicTacToe游戏,他们使用这个函数来检查谁赢了:

function calculateWinner(squares) { 
    const lines = [ 
    [0, 1, 2], 
    [3, 4, 5], 
    [6, 7, 8], 
    [0, 3, 6], 
    [1, 4, 7], 
    [2, 5, 8], 
    [0, 4, 8], 
    [2, 4, 6], 
    ]; 
    for (let i = 0; i < lines.length; i++) { 
    const [a, b, c] = lines[i]; 
    if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) { 
     return squares[a]; 
    } 
    } 
    return null; 
} 

starter source code

正方形是九个正方形的阵列从左到右,从上到下。它包含已填写正方形的xo并返回获胜者的来信。