Exemplo n.º 1
0
        public void StartGame()
        {
            GameState state = GameState.WinnerNotFound;

            // initialize starting player
            StartingPlayer();
            playing = (whosTurn == WhosTurn.Player1) ? players[0] : players[1];

            // allow for players to take turns till winner/draw state is reached
            while (true)
            {
                // Render Game board
                RenderGame();

                // Player takes a turn on the board
                while (!Board.MakePlay(playing.Symbol, playing.MakePlay()))
                {
                    ;
                }
                Console.WriteLine("*****************************\n");

                // get game state and break on winner/draw state
                state = Board.gamestate(playing.Symbol);
                if (state != GameState.WinnerNotFound)
                {
                    break;
                }
                else
                {
                    // Alternate Player turns
                    whosTurn = (whosTurn == WhosTurn.Player1) ? WhosTurn.Player2 : WhosTurn.Player1;
                    playing  = (whosTurn == WhosTurn.Player1) ? players[0] : players[1];
                }
            }

            DrawOrWin(state);
        }