Ejemplo n.º 1
0
        /// <summary>
        /// Displays who the winner is
        /// </summary>
        /// <param name="winner"></param>
        public void DisplayWinner(Gameboard.PlayerColor winner)
        {
            string message = "";

            switch (winner)
            {
            case Gameboard.PlayerColor.None:
                //draw game message
                message = "Tie Game!";
                break;

            case Gameboard.PlayerColor.Red:
                //player one wins message
                message = "Player One Wins!";
                break;

            case Gameboard.PlayerColor.Blue:
                //player two wins message
                message = "Player Two Wins!";
                break;
            }
            message += " Press any key to continue.";
            _consoleMenu.DrawTextBox(message, true);
            Console.ReadKey(true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Manages the player's turns
        /// </summary>
        /// <param name="playerColor"></param>
        private void ManagePlayerTurn(Gameboard.PlayerColor playerColor)
        {
            int  column      = 0;
            bool validChoice = false;

            while (!validChoice)
            {
                ConsoleKey key = Console.ReadKey(true).Key;
                switch (key)
                {
                case ConsoleKey.LeftArrow:
                    column--;
                    column = column < 0 ? _gameboard.MaxCols - 1 : column;
                    break;

                case ConsoleKey.RightArrow:
                    column++;
                    column = column > _gameboard.MaxCols - 1 ? 0 : column;
                    break;

                case ConsoleKey.Spacebar:
                    //attempt to place piece in selected column
                    if (_gameboard.GameboardPositionAvailable(column))
                    {
                        validChoice = true;
                        _gameboard.SetPlayerPiece(column, playerColor);
                    }
                    break;

                case ConsoleKey.Escape:
                    InGameMenu();
                    break;
                }

                //Check if Still Playing
                if (_playingRound)
                {
                    _gameView.UpdateGameArea(_gameboard, column);
                }
                else
                {
                    break;
                }
            }
        }