public ConsoleView(Gameboard gameboard)
        {
            _gameboard = gameboard;

            InitializeView();

        }
Example #2
0
        /// <summary>
        /// Get a player's position choice within the correct range of the array
        /// Note: The ConsoleView is allowed access to the GameboardPosition struct.
        /// </summary>
        /// <returns>GameboardPosition</returns>
        public int GetPlayerPositionChoice()
        {
            Console.CursorVisible  = false;
            Console.OutputEncoding = System.Text.Encoding.Unicode;
            ConsoleKeyInfo keyInfo;
            int            player_column = 0;

            do
            {
                Console.SetCursorPosition(_gameboard._board[0, player_column].Row, _gameboard._board[0, player_column].Column + DROP_PEICE_OFFSET);
                Console.Write(PLAYER_ICONS[(int)_gameboard.CurrentRoundState]);
                keyInfo = Console.ReadKey();
                //Console.SetCursorPosition(Console.CursorLeft -3, Console.CursorTop);
                Console.SetCursorPosition(_gameboard._board[0, player_column].Row, _gameboard._board[0, player_column].Column + DROP_PEICE_OFFSET);
                Console.Write("  ");
                switch (keyInfo.Key)
                {
                case ConsoleKey.LeftArrow:
                    if (player_column > 0)
                    {
                        player_column--;
                    }
                    break;

                case ConsoleKey.RightArrow:
                    if (player_column < _gameboard.MaxNumOfRowsColumns - 1)
                    {
                        player_column++;
                    }
                    break;

                case ConsoleKey.F1:
                    JsonServices.WriteJsonFile(_gameboard);     //debug
                    DisplayGameSavedScreen();
                    return(-1);

                case ConsoleKey.F2:
                    Gameboard _tempboard = JsonServices.ReadJsonFile() as Gameboard;
                    _gameboard._board = _tempboard._board;     //debug
                    DisplayGameLoadedScreen();
                    return(-1);

                case ConsoleKey.F3:
                    break;

                case ConsoleKey.F4:
                    break;

                case ConsoleKey.Escape:
                    return(-2);

                default:
                    break;
                }
            } while (keyInfo.Key != ConsoleKey.Enter);

            /*
             * //
             * // Initialize gameboardPosition with -1 values
             * //
             * GameboardPosition gameboardPosition = new GameboardPosition(-1, -1);
             *
             * //
             * // Get row number from player.
             * //
             * gameboardPosition.Row = PlayerCoordinateChoice("Row");
             *
             * //
             * // Get column number.
             * //
             * if (CurrentViewState != ViewState.PlayerUsedMaxAttempts)
             * {
             *  gameboardPosition.Column = PlayerCoordinateChoice("Column");
             * }*/

            return(player_column);
        }