/// <summary> /// draw the status box on the game screen /// </summary> public void DisplayStatusBox() { Console.BackgroundColor = ConsoleTheme.InputBoxBackgroundColor; Console.ForegroundColor = ConsoleTheme.InputBoxBorderColor; // // display the outline for the status box // ConsoleWindowHelper.DisplayBoxOutline( ConsoleLayout.StatusBoxPositionTop, ConsoleLayout.StatusBoxPositionLeft, ConsoleLayout.StatusBoxWidth, ConsoleLayout.StatusBoxHeight); // // display the text for the status box if playing game // if (_viewStatus == ViewStatus.PlayingGame) { // // display status box header with title // Console.BackgroundColor = ConsoleTheme.StatusBoxBorderColor; Console.ForegroundColor = ConsoleTheme.StatusBoxForegroundColor; Console.SetCursorPosition(ConsoleLayout.StatusBoxPositionLeft + 2, ConsoleLayout.StatusBoxPositionTop + 1); Console.Write(ConsoleWindowHelper.Center("Game Stats", ConsoleLayout.StatusBoxWidth - 4)); Console.BackgroundColor = ConsoleTheme.StatusBoxBackgroundColor; Console.ForegroundColor = ConsoleTheme.StatusBoxForegroundColor; // // display stats // int startingRow = ConsoleLayout.StatusBoxPositionTop + 3; int row = startingRow; foreach (string statusTextLine in Text.StatusBox(_gamePlayer, _gameKingdom)) { Console.SetCursorPosition(ConsoleLayout.StatusBoxPositionLeft + 3, row); Console.Write(statusTextLine); row++; } } else { // // display status box header without header // Console.BackgroundColor = ConsoleTheme.StatusBoxBorderColor; Console.ForegroundColor = ConsoleTheme.StatusBoxForegroundColor; Console.SetCursorPosition(ConsoleLayout.StatusBoxPositionLeft + 2, ConsoleLayout.StatusBoxPositionTop + 1); Console.Write(ConsoleWindowHelper.Center("", ConsoleLayout.StatusBoxWidth - 4)); Console.BackgroundColor = ConsoleTheme.StatusBoxBackgroundColor; Console.ForegroundColor = ConsoleTheme.StatusBoxForegroundColor; } }
/// <summary> /// draw the input box on the game screen /// </summary> public void DisplayInputBox() { Console.BackgroundColor = ConsoleTheme.InputBoxBackgroundColor; Console.ForegroundColor = ConsoleTheme.InputBoxBorderColor; ConsoleWindowHelper.DisplayBoxOutline( ConsoleLayout.InputBoxPositionTop, ConsoleLayout.InputBoxPositionLeft, ConsoleLayout.InputBoxWidth, ConsoleLayout.InputBoxHeight); }
/// <summary> /// display all of the elements on the game play screen on the console /// </summary> /// <param name="messageBoxHeaderText">message box header title</param> /// <param name="messageBoxText">message box text</param> /// <param name="menu">menu to use</param> /// <param name="inputBoxPrompt">input box text</param> public void DisplayGamePlayScreen(string messageBoxHeaderText, string messageBoxText, Menu menu, string inputBoxPrompt) { // // reset screen to default window colors // Console.BackgroundColor = ConsoleTheme.WindowBackgroundColor; Console.ForegroundColor = ConsoleTheme.WindowForegroundColor; Console.Clear(); ConsoleWindowHelper.DisplayHeader(Text.HeaderText); ConsoleWindowHelper.DisplayFooter(Text.FooterText); DisplayMessageBox(messageBoxHeaderText, messageBoxText); DisplayMenuBox(menu); DisplayInputBox(); }
/// <summary> /// initialize the console window settings /// </summary> private static void InitializeDisplay() { // // control the console window properties // ConsoleWindowControl.DisableResize(); ConsoleWindowControl.DisableMaximize(); ConsoleWindowControl.DisableMinimize(); Console.Title = "The High Seas"; // // set the default console window values // ConsoleWindowHelper.InitializeConsoleWindow(); Console.CursorVisible = false; }
/// <summary> /// initialize the console window settings /// </summary> private static void InitializeDisplay() { // // control the console window properties // ConsoleWindowControl.DisableResize(); ConsoleWindowControl.DisableMaximize(); ConsoleWindowControl.DisableMinimize(); Console.Title = "Harry Potter: The Sorcerer's Stone"; // // set the default console window values // ConsoleWindowHelper.InitializeConsoleWindow(); Console.CursorVisible = false; }
/// <summary> /// display the text in the message box of the game screen /// </summary> /// <param name="headerText"></param> /// <param name="messageText"></param> private void DisplayMessageBox(string headerText, string messageText) { // // display the outline for the message box // Console.BackgroundColor = ConsoleTheme.MessageBoxBackgroundColor; Console.ForegroundColor = ConsoleTheme.MessageBoxBorderColor; ConsoleWindowHelper.DisplayBoxOutline( ConsoleLayout.MessageBoxPositionTop, ConsoleLayout.MessageBoxPositionLeft, ConsoleLayout.MessageBoxWidth, ConsoleLayout.MessageBoxHeight); // // display message box header // Console.BackgroundColor = ConsoleTheme.MessageBoxBorderColor; Console.ForegroundColor = ConsoleColor.Gray; Console.SetCursorPosition(ConsoleLayout.MessageBoxPositionLeft + 2, ConsoleLayout.MessageBoxPositionTop + 1); Console.Write(ConsoleWindowHelper.Center(headerText, ConsoleLayout.MessageBoxWidth - 4)); // // display the text for the message box // Console.BackgroundColor = ConsoleTheme.MessageBoxBackgroundColor; Console.ForegroundColor = ConsoleTheme.MessageBoxForegroundColor; List <string> messageTextLines = new List <string>(); messageTextLines = ConsoleWindowHelper.MessageBoxWordWrap(messageText, ConsoleLayout.MessageBoxWidth - 4); int startingRow = ConsoleLayout.MessageBoxPositionTop + 3; int endingRow = startingRow + messageTextLines.Count(); int row = startingRow; foreach (string messageTextLine in messageTextLines) { Console.SetCursorPosition(ConsoleLayout.MessageBoxPositionLeft + 2, row); Console.Write(messageTextLine); row++; } }
/// <summary> /// display the correct menu in the menu box of the game screen /// </summary> /// <param name="menu">menu for current game state</param> private void DisplayMenuBox(Menu menu) { Console.BackgroundColor = ConsoleTheme.MenuBackgroundColor; Console.ForegroundColor = ConsoleTheme.MenuBorderColor; // // display menu box border // ConsoleWindowHelper.DisplayBoxOutline( ConsoleLayout.MenuBoxPositionTop, ConsoleLayout.MenuBoxPositionLeft, ConsoleLayout.MenuBoxWidth, ConsoleLayout.MenuBoxHeight); // // display menu box header // Console.BackgroundColor = ConsoleTheme.MenuBorderColor; Console.ForegroundColor = ConsoleColor.Gray; Console.SetCursorPosition(ConsoleLayout.MenuBoxPositionLeft + 2, ConsoleLayout.MenuBoxPositionTop + 1); Console.Write(ConsoleWindowHelper.Center(menu.MenuTitle, ConsoleLayout.MenuBoxWidth - 4)); // // display menu choices // Console.BackgroundColor = ConsoleTheme.MenuBackgroundColor; Console.ForegroundColor = ConsoleTheme.MenuForegroundColor; int topRow = ConsoleLayout.MenuBoxPositionTop + 3; foreach (KeyValuePair <char, PlayerAction> menuChoice in menu.MenuChoices) { if (menuChoice.Value != PlayerAction.None) { string formatedMenuChoice = ConsoleWindowHelper.ToLabelFormat(menuChoice.Value.ToString()); Console.SetCursorPosition(ConsoleLayout.MenuBoxPositionLeft + 3, topRow++); Console.Write($"{menuChoice.Key}. {formatedMenuChoice}"); } } }
public void DisplayStatusBox() { Console.BackgroundColor = ConsoleTheme.InputBoxBackgroundColor; Console.ForegroundColor = ConsoleTheme.InputBoxBorderColor; // // display the outline for the status box // ConsoleWindowHelper.DisplayBoxOutline( ConsoleLayout.StatusBoxPositionTop, ConsoleLayout.StatusBoxPositionLeft, ConsoleLayout.StatusBoxWidth, ConsoleLayout.StatusBoxHeight); // // display status box header with title // Console.BackgroundColor = ConsoleTheme.StatusBoxBorderColor; Console.ForegroundColor = ConsoleTheme.StatusBoxForegroundColor; Console.SetCursorPosition(ConsoleLayout.StatusBoxPositionLeft + 2, ConsoleLayout.StatusBoxPositionTop + 1); Console.Write(ConsoleWindowHelper.Center("Game Stats", ConsoleLayout.StatusBoxWidth - 4)); Console.BackgroundColor = ConsoleTheme.StatusBoxBackgroundColor; Console.ForegroundColor = ConsoleTheme.StatusBoxForegroundColor; // // display stats // int startingRow = ConsoleLayout.StatusBoxPositionTop + 3; int row = startingRow; foreach (string statusTextLine in Text.StatusBox(_gameSurvivor, _worldContents)) { Console.SetCursorPosition(ConsoleLayout.StatusBoxPositionLeft + 3, row); Console.Write(statusTextLine); row++; } }