public ConsoleView(Gameboard gameboard) { _gameboard = gameboard; InitializeView(); }
/// <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); }