private void PrintStartScreen(StartMenuOptions curOption) { Console.Clear(); StreamReader file = new StreamReader(Program.ASSETS_PATH + "title.txt"); string line; int optionLeft = (Program.WINDOW_WIDTH - 7) / 2; int titleLeft = (Program.WINDOW_WIDTH - 115) / 2; int counter = 1; while ((line = file.ReadLine()) != null) { Console.SetCursorPosition(titleLeft, counter++); Console.WriteLine(line); } file.Close(); string cursorSymbol = ">>>"; int top = 30; //int left = (Program.WINDOW_WIDTH - 7) / 2; Console.ForegroundColor = ConsoleColor.Cyan; Console.SetCursorPosition(optionLeft - 4, top + (int)curOption); Console.Write(cursorSymbol); Console.ForegroundColor = ConsoleColor.White; for (int i = 0; i < 4; i++) { Console.SetCursorPosition(optionLeft, top++); Console.WriteLine((StartMenuOptions)i); } }
private void StartScreen() { StartMenuOptions chosenOption = StartMenuOptions.undefined; StartMenuOptions currentOption = StartMenuOptions.START; int curIdx = 0; var input = ConsoleKey.Spacebar; while (chosenOption != StartMenuOptions.START) { PrintStartScreen(currentOption); input = Console.ReadKey().Key; if (input == ConsoleKey.DownArrow) { curIdx = (curIdx + 1) % 4; currentOption = (StartMenuOptions)curIdx; } else if (input == ConsoleKey.UpArrow) { curIdx = (curIdx + 3) % 4; currentOption = (StartMenuOptions)curIdx; } else if (input == ConsoleKey.Enter) { chosenOption = currentOption; ExecuteMenuOption(chosenOption); } } }
private void ExecuteMenuOption(StartMenuOptions option) { switch (option) { case StartMenuOptions.HELP: DisplayHelpMenu(); break; case StartMenuOptions.SETTING: DisplaySettingMenu(); break; case StartMenuOptions.QUIT: Environment.Exit(0); break; case StartMenuOptions.START: SetNewOrSavedGame(); break; default: break; } }