2017-01-24 60 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並返回獲勝者的來信。