jeudi 2 juillet 2020

How to check if the tiles are alredy filled with values JavaScript

So I have this problem solving how to see if tie or the X wins or the O. Here's the code to determine the value of my tiles.

let winner;
let winner2;

   function checkValueForX(){
      

        if(board[0].textContent === "X" && 
          board[1].textContent === "X" &&
          board[2].textContent === "X")
          {
            let winner = 'X';
            return true;
        }
        else if (
          board[3].textContent === "X" &&
          board[4].textContent === "X" &&
          board[5].textContent === "X"
        ) {
          let winner = 'X';
          return true;
        }
         else if (
          board[6].textContent === "X" &&
          board[7].textContent === "X" &&
          board[8].textContent === "X"
        ) {
          let winner = 'X';
          return true;
        }
        else if (
          board[0].textContent === "X" &&
          board[4].textContent === "X" &&
          board[8].textContent === "X"
        ) {
          let winner = 'X';
          return true;
        }
        else if (
          board[2].textContent === "X" &&
          board[4].textContent === "X" &&
          board[6].textContent === "X"
        ) {
          let winner = 'X';
          return true;
        }
        else if (
          board[0].textContent === "X" &&
          board[3].textContent === "X" &&
          board[6].textContent === "X"
        ) {
          let winner = 'X';
          return true;
        }

        else if (
          board[2].textContent === "X" &&
          board[5].textContent === "X" &&
          board[8].textContent === "X"
        ) {
          let winner = 'X';
          return true;
        }else{
          return false;
        }
         
      } 

       function checkValueForO(){


        if(board[0].textContent === "O" && 
          board[1].textContent === "O" &&
          board[2].textContent === "O")
          { let winner2 = 'O';
            return true;
        }
        else if (
          board[3].textContent === "O" &&
          board[4].textContent === "O" &&
          board[5].textContent === "O"
        ) { let winner2 = 'O';
        return true;
        }
         else if (
          board[6].textContent === "O" &&
          board[7].textContent === "O" &&
          board[8].textContent === "O"
        ) { let winner2 = 'O';
        return true;
        }
        else if (
          board[0].textContent === "O" &&
          board[4].textContent === "O" &&
          board[8].textContent === "O"
        ) { let winner2 = 'O';
        return true;
         }
        else if (
          board[2].textContent === "O" &&
          board[4].textContent === "O" &&
          board[6].textContent === "O"
        ) {
          let winner2 = 'O';
          return true;
        }
        else if (
          board[0].textContent === "O" &&
          board[3].textContent === "O" &&
          board[6].textContent === "O"
        ) { let winner2 = 'O';
        return true;
        }

        else if (
          board[2].textContent === "O" &&
          board[5].textContent === "O" &&
          board[8].textContent === "O"
        ) { let winner2 = 'O';
        return true;
        } 

        else {
          return false
        }
        
      } 

and here's my function to check if win or tie:

function checkWinOrTie(){
    if (winner === true){
      displayWinnwer.innerHTML = 'Winner is ' + activePlayer1 + '!';
    }else if(winner2 === true){
      displayWinnwer.innerHTML = 'Winner is ' + activePlayer2 + '!';
    }
  }

I know that there's still missing here, can you help me to declare how to detect if there's a winner or tie?

PS. Newbie in JavaScript here pardon me.

Aucun commentaire:

Enregistrer un commentaire