2017-02-26 72 views
-1

卡住設置tic tac。我已經設置了棋盤,轉向了球員1和2,所有的球隊都贏得了可能性,並且有一些原因表明球員已經贏得了比賽,儘管他們沒有贏。例如PLAYER1 = X player2 = O SQ1 & & SQ2 & & SQ3返回true,那麼X-O-X警報的得主玩家一個如何查詢獲勝者的井字遊戲jquery?

$(document).ready(function() { 
    var player = 1; 
    $('.box').on('click', function(event) { 
     alert('add symbol here'); 
     var boxSelected = $(this); 

     if (boxSelected.hasClass('exes') || boxSelected.hasClass('ohs')) { 
      alert('You cant do that! Nice try'); 
     } else { 
      if (player == 1) { 
       boxSelected.addClass('exes'); 
       if (checkIfPlayerWon('exes')) { 
        alert('Congrats! Player ' + player + 'has won the game!'); 
       } else { 
        player = 2; 
       } 
      } else { 
       boxSelected.addClass('ohs'); 
       if (checkIfPlayerWon('ohs')) { 
        alert('Congrats! Player ' + player + 'has won the game!'); 
       } else { 
        player = 1; 
       } 
      } 
     } 
    }); 

    function checkIfPlayerWon(symbol) { 
     if ($('.sq1').hasClass(symbol) && $('.sq2') && $('.sq3').hasClass(symbol)) { 
      return true; 
     } else if ($('.sq4').hasClass(symbol) && $('.sq5') && $('.sq6').hasClass(symbol)) { 
      return true; 
     } else if ($('.sq7').hasClass(symbol) && $('.sq8') && $('.sq9').hasClass(symbol)) { 
      return true; 
     } else if ($('.sq1').hasClass(symbol) && $('.sq4') && $('.sq7').hasClass(symbol)) { 
      return true; 
     } else if ($('.sq2').hasClass(symbol) && $('.sq5') && $('.sq8').hasClass(symbol)) { 
      return true; 
     } else if ($('.sq3').hasClass(symbol) && $('.sq6') && $('.sq9').hasClass(symbol)) { 
      return true; 
     } else if ($('.sq3').hasClass(symbol) && $('.sq5') && $('.sq7').hasClass(symbol)) { 
      return true; 
     } else if ($('.sq1').hasClass(symbol) && $('.sq5') && $('.sq9').hasClass(symbol)) { 
      return true; 
     } else if ($('.sq3').hasClass(symbol) && $('.sq5') && $('.sq7').hasClass(symbol)) { 
      return true; 
     } else { 
      return false; 
     } 
    } 
}); 

回答

0

你缺少了一些盒子的hasClass(symbol)

改變這一切:

if ($('.sq1').hasClass(symbol) && $('.sq2') && $('.sq3').hasClass(symbol)) { 
    return true; 

要:

if ($('.sq1').hasClass(symbol) && $('.sq2').hasClass(symbol) && $('.sq3').hasClass(symbol)) { 
    return true; 
+0

感謝那些原來是這個問題.. –

+0

請註明職位爲正確答案,如果你認爲它是 – samson