2015-02-10 68 views
-3

同樣來自我早期學校的tic tac toe遊戲,如果遊戲是平局的話,我忘記了如何...不知道如何告訴玩家它是一個領帶。需要幫助編碼如何告訴玩家如果比賽是平局。這裏是我的代碼:綁定tic tac腳趾嗎?

<html> 
<head> 
    <style> 

     .Square 
     { 
     width:60px; 
     height: 60px; 
     text-align:center; 
     font-size: 30pt; 
     font-weight: bold; 
     font-family: Verdana; 
     } 
    </style> 

<script> 
      function startGame() 
       { 
        for (var i = 1; i<= 9; i = i + 1) 
        { 
         clearBox(i); 
        } 

       document.turn = "X"; 
       if (Math.random()< 0.5) 
       { 
        document.turn = "O"; 
       } 
       document.winner = null; 
       setMessage(document.turn + " gets to start."); 
      } 

      function setMessage(msg) 
      { 
      document.getElementById("message").textContent = msg; 
      } 

      function nextMove(square) 
      { 
       if (document.winner != null) 
       { 
        setMessage(document.winner + " Already Won the Game!"); 
       } 
       else if (square.textContent == "") 
       { 
        square.textContent = document.turn; 
        switchTurn(); 
       } 
       else 
       { 
        setMessage("That Square is Already Used.") 
       } 
      } 

      function switchTurn() 
      { 
       if(checkForWinner(document.turn)) 
       { 
        setMessage("Congratulations " + document.turn + "! You Win!"); 
        document.winner = document.turn; 
       } 
        else if (document.turn == "X") 
         { 
          document.turn ="O"; 
          setMessage("It's " + document.turn + "'s turn!"); 
         } 
        else 
        { 
         document.turn ="X"; 
         setMessage("It's " + document.turn + "'s turn!"); 
        } 
      } 

      function checkForWinner(move) 
      { 
       var result = false; 
       if(checkRow(1,2,3, move) || 
        checkRow(4,5,6, move) || 
        checkRow(7,8,9, move) || 
        checkRow(1,4,7, move) || 
        checkRow(2,5,8, move) || 
        checkRow(3,6,9, move) || 
        checkRow(1,5,9, move) || 
        checkRow(3,5,7, move)) 
        { 
        result = true; 
        } 
        return result; 

      } 

      function checkRow(a,b,c, move) 
      { 
       var result = false; 
       if (getBox(a)== move && getBox(b)== move && getBox(c)== move) 
       { 
       result = true; 
       } 
       return result; 
      } 

      function getBox(number) 
      { 
       return document.getElementById("s" + number).textContent; 
      } 

      function clearBox(number) 
      { 
       document.getElementById("s" + number).textContent = ""; 
      } 

</script> 

</head> 

<body onload= "startGame();" background="http://www.clipartbest.com/cliparts/dcr/eKa/dcreKaqoi.gif"> 
    <center><h1><font color ="black" size="30"> Tic-Tac-Toe!</font></h1></center> 
    <center><div id=message> message will be here </div></center> 
    <center><table border= "15" bgcolor= "#FFFFFF"> 
     <tr> 
      <td id="s1" class= "Square" onclick="nextMove(this);"></td> 
      <td id="s2" class= "Square" onclick="nextMove(this);"></td> 
      <td id="s3" class= "Square" onclick="nextMove(this);"></td> 
     </tr> 
     <tr> 
      <td id="s4" class= "Square" onclick="nextMove(this);"></td> 
      <td id="s5" class= "Square" onclick="nextMove(this);"></td> 
      <td id="s6" class= "Square" onclick="nextMove(this);"></td> 
     </tr> 
     <tr> 
      <td id="s7" class= "Square" onclick="nextMove(this);"></td> 
      <td id="s8" class= "Square" onclick="nextMove(this);"></td> 
      <td id="s9" class= "Square" onclick="nextMove(this);"></td> 
     </tr> 
    </table></center> 
    <center><button type="button" onclick=startGame()> Start New Game</button></center> 
    <center><p> Created By Claire Fuesting</p></center> 
</body> 
</html> 
+2

嘛,想想怎樣的領帶(暗示一個人的時候會知道:它在所有的空間都填充有沒有贏家)。如果**所有空格都被填充**並且**沒有獲勝者,您怎麼能運行代碼**? – ahjohnston25 2015-02-10 05:16:19

回答

1

將checkfortie函數添加爲;

 function CheckforTie() 
     { 
      for(var i=1;i<10;i++) 
      { 

       if(getBox(i)=="") 
       return false; 
      } 
      return true; 
     } 

並更新您的switchTurn功能;

function switchTurn() 
     { 
      if(checkForWinner(document.turn)) 
      { 
       setMessage("Congratulations " + document.turn + "! You Win!"); 
       document.winner = document.turn; 
      } 
      else 
      if(CheckforTie()) 
      { 
       setMessage("Its a TIE..!! Play again...!!!"); 
      } 
       else if (document.turn == "X") 
        { 
         document.turn ="O"; 
         setMessage("It's " + document.turn + "'s turn!"); 
        } 
       else 
       { 
        document.turn ="X"; 
        setMessage("It's " + document.turn + "'s turn!"); 
       } 
     } 

希望它有助於.. !!!

+0

這完美的作品!非常感謝! – noo 2015-02-10 05:44:56

1
  1. 創建一個變量被稱爲移動,並給它的0.
  2. 移動++當「移動」 occures的值。
  3. 如果添加(移動== 9){}繪製在每個月底移動