public void takeTurn() throws MenuException {
       
        int returnValue = 1;
        
        if (!this.game.getStatus().equals(StatusType.NEW_GAME)  && 
            !this.game.getStatus().equals(StatusType.PLAYING)) {
            throw new MenuException(ErrorType.ERROR106.getMessage());
         
        }
         if (this.game.getGameType().equals(GameType.TWO_PLAYER)) { //two player game 
            // regular player takes turn
            returnValue = this.regularPlayerTurn(this.game.getCurrentPlayer());            
            if (returnValue < 0) {
                return;
            }
            this.checkForMatches();
            this.displayBoard();
            this.alternatePlayers(); // alternate players             
            
            // other player takes turn 
            returnValue = this.regularPlayerTurn(this.game.getCurrentPlayer());            
            if (returnValue < 0) {
                return;
            }
            this.checkForMatches();
            this.displayBoard();
            this.alternatePlayers(); // alternate players
        }
        
        else { // one player game
            // regular player takes turn
            this.regularPlayerTurn(this.game.getCurrentPlayer());
            if (returnValue < 0  || this.gameOver(this.game.getCurrentPlayer())) {
                return;
            }
        
            // computer takes turn         
            this.coumputerTakesTurn(this.game.getOtherPlayer());
            System.out.println("\n\tThe computer also took it's turn");
            this.displayBoard();            
            if (returnValue < 0  || this.gameOver(this.game.getOtherPlayer())) {
                return;
            }
        }
    
  }