/// <summary> /// get and validate the player's race /// </summary> /// <returns>race as a RaceType</returns> public Traveler.RaceType DisplayGetTravelersRace() { bool validResponse = false; Traveler.RaceType travelersRace = Traveler.RaceType.None; while (!validResponse) { // // display header // ConsoleUtil.HeaderText = "Traveler's Race"; ConsoleUtil.DisplayReset(); // // display all race types on a line // // // get user response for race // // // validate user response for race // DisplayContinuePrompt(); } return(travelersRace); }
/// <summary> /// get and validate the player's race /// </summary> /// <returns>race as a RaceType</returns> public Traveler.RaceType DisplayGetTravelersRace() { bool validResponse = false; Traveler.RaceType travelersRace = Traveler.RaceType.None; while (!validResponse) { // // display header // ConsoleUtil.HeaderText = "Traveler's Race"; ConsoleUtil.DisplayReset(); // // display all race types on a line // ConsoleUtil.DisplayMessage("Races"); StringBuilder sb = new StringBuilder(); foreach (Character.RaceType raceType in Enum.GetValues(typeof(Character.RaceType))) { if (raceType != Character.RaceType.None) { sb.Append($" [{raceType}] "); } } ConsoleUtil.DisplayMessage(sb.ToString()); ConsoleUtil.DisplayPromptMessage("Enter your race: "); // // validate user response for race // if (Enum.TryParse <Character.RaceType>(Console.ReadLine(), out travelersRace)) { validResponse = true; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage($"You have indicated {travelersRace} as your race type."); } else { ConsoleUtil.DisplayMessage("You must limit your race to the list above."); ConsoleUtil.DisplayMessage("Please reenter your race."); } DisplayContinuePrompt(); } return(travelersRace); }