private int DisplayGetInteger(int min, int max, string prompt) { int integer = 0; bool validAge = false; while (!validAge) { ConsoleUtil.DisplayPromptMessage(prompt); if (int.TryParse(Console.ReadLine(), out integer)) { if (integer > min && integer < max) { validAge = true; } else { Console.WriteLine("Thats not within the range! Try Again"); DisplayContinuePrompt(); } } else { Console.WriteLine("That's not an integer!"); DisplayContinuePrompt(); } } return(integer); }
/// <summary> /// get and validate the player's race /// </summary> /// <returns>race as a GameCharacterType</returns> public Traveler.GameCharacterType DisplayGetTravelersRace() { bool validResponse = false; Traveler.GameCharacterType travelersCharacter = Traveler.GameCharacterType.None; while (!validResponse) { // // display header // ConsoleUtil.HeaderText = "Time Traveler's GameCharacter"; ConsoleUtil.DisplayReset(); // // display all character types on a line // ConsoleUtil.DisplayMessage("GameCharacters"); StringBuilder sb = new StringBuilder(); foreach (Character.GameCharacterType characterType in Enum.GetValues(typeof(Character.GameCharacterType))) { if (characterType != Character.GameCharacterType.None) { sb.Append($" [{characterType}] "); } } ConsoleUtil.DisplayMessage(sb.ToString()); ConsoleUtil.DisplayPromptMessage("Enter your character: "); // // validate user response for character // if (Enum.TryParse <Character.GameCharacterType>(Console.ReadLine(), out travelersCharacter)) { validResponse = true; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage($"You have indicated {travelersCharacter} as your character."); } else { ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("You must choose a character from the list above."); ConsoleUtil.DisplayMessage("Please re-enter your character."); } DisplayContinuePrompt(); } return(travelersCharacter); }
/// <summary> /// get player's name /// </summary> /// <returns>name as a string</returns> public string DisplayGetTravelersName() { string travelersName; // // display header // ConsoleUtil.HeaderText = "Traveler's Name"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayPromptMessage("Enter your Name: "); travelersName = Console.ReadLine(); ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage($"You have indicated {travelersName} as your name."); DisplayContinuePrompt(); return(travelersName); }
/// <summary> /// get player's name /// </summary> /// <returns>name as a string</returns> public string DisplayGetTravelersName() { string travelersName; // // display header // ConsoleUtil.HeaderText = "Traveler's Name and Age"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayPromptMessage("Enter your Name: "); travelersName = Console.ReadLine(); _gameTraveler.Age = DisplayGetInteger(1, 130, "Enter your Age: "); ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage($"You have indicated {travelersName} as your name and you are {_gameTraveler.Age} years old."); DisplayContinuePrompt(); return(travelersName); }
/// <summary> /// Display an integer prompt with a message including the min/max values /// </summary> /// <param name="promptMessage">prompt message</param> /// <returns>user's choice of integer</returns> public static int DisplayGetIntegerPrompt(string promptMessage, int minNumber, int maxNumber) { // // dummy choice - refactor later to return a null // int intChoice = -9999; bool validResponse = false; string userResponse; while (!validResponse) { ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayPromptMessage($"{promptMessage} ({minNumber} - {maxNumber}"); userResponse = Console.ReadLine(); if (int.TryParse(userResponse, out intChoice)) { if (intChoice >= maxNumber && intChoice <= maxNumber) { validResponse = true; } else { ConsoleUtil.DisplayMessage( "It appears that you have entered an integer out of range." + $" Please enter an integer between {minNumber} and {maxNumber}." ); DisplayContinuePrompt(); } } else { ConsoleUtil.DisplayMessage( "It appears that you have not entered an integer." + $" Please enter an integer between {minNumber} and {maxNumber}." ); DisplayContinuePrompt(); } } return(intChoice); }
/// <summary> /// Display a Yes or No prompt with a message /// </summary> /// <param name="promptMessage">prompt message</param> /// <returns>bool where true = yes</returns> public static bool?DisplayGetYesNoPrompt(string promptMessage) { bool? yesNoChoice = null; bool validResponse = false; string userResponse; while (!validResponse) { ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayPromptMessage(promptMessage + "(Yes/No)"); userResponse = Console.ReadLine(); if (userResponse.ToUpper() == "YES") { validResponse = true; yesNoChoice = true; } else if (userResponse.ToUpper() == "NO") { validResponse = true; yesNoChoice = false; break; } else { ConsoleUtil.DisplayMessage( "It appears that you have entered an incorrect response." + " Please enter either \"Yes\" or \"No\"." ); DisplayContinuePrompt(); } } return(yesNoChoice); }
///<summary> ///display talk to method /// </summary> public void DisplayTalkTo() { string travelerTalk; ConsoleUtil.HeaderText = "Talk To"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayPromptMessage("Type what you would like to say: "); travelerTalk = Console.ReadLine(); ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage($"You stated: {travelerTalk} "); ConsoleUtil.DisplayMessage(""); foreach (BadGuy badguy in _gameYear.GetBadGuysByYearTimeLocationID(_gameTraveler.TimeLocationID)) { ConsoleUtil.DisplayMessage($"{badguy.Name} states: {badguy.Message}"); ConsoleUtil.DisplayMessage(""); if (badguy.NiceMessage != true) { ConsoleUtil.DisplayMessage("You are forced to leave."); var myplayer = new System.Media.SoundPlayer(); myplayer.SoundLocation = @"C:\Users\Jennifer\Documents\Visual Studio 2015\Projects\Back To The Future Game [sprint 3]\Project_TARDIS.S2_Starter\sound\lookinat.wav"; myplayer.Play(); } else { ConsoleUtil.DisplayMessage("You feel welcome and are invited for Pepsi."); var myplayer = new System.Media.SoundPlayer(); myplayer.SoundLocation = @"C:\Users\Jennifer\Documents\Visual Studio 2015\Projects\Back To The Future Game [sprint 3]\Project_TARDIS.S2_Starter\sound\pepsiperfect.wav"; myplayer.Play(); } } DisplayContinuePrompt(); }
///<summary> ///display talk to method /// </summary> public void DisplayTalkTo() { string travelerTalk; ConsoleUtil.HeaderText = "Talk To"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayPromptMessage("Type what you would like to say: "); travelerTalk = Console.ReadLine(); ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage($"You stated: {travelerTalk} "); ConsoleUtil.DisplayMessage(""); foreach (BadGuy badguy in _gameYear.GetBadGuysByYearTimeLocationID(_gameTraveler.TimeLocationID)) { ConsoleUtil.DisplayMessage($"{badguy.Name} states: {badguy.Message}"); ConsoleUtil.DisplayMessage(""); if (badguy.NiceMessage != true) { ConsoleUtil.DisplayMessage("You are forced to leave."); SoundPlayer player = new SoundPlayer(); player.SoundLocation = AppDomain.CurrentDomain.BaseDirectory + "\\lookinat.wav"; player.Play(); } else { ConsoleUtil.DisplayMessage("You feel welcome and are invited for Pepsi."); SoundPlayer player = new SoundPlayer(); player.SoundLocation = AppDomain.CurrentDomain.BaseDirectory + "\\pepsiperfect.wav"; player.Play(); } } DisplayContinuePrompt(); }
/// <summary> /// get the traveler's HoverAction choice /// </summary> /// <returns>HoverAction</returns> public HoverAction DisplayGetHoverActionChoice() { HoverAction hoverActionChoice = HoverAction.None; ConsoleUtil.HeaderText = "Choose a Hover Action"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("Enter one of the following actions."); ConsoleUtil.DisplayMessage(""); foreach (HoverAction action in Enum.GetValues(typeof(HoverAction))) { ConsoleUtil.DisplayMessage(action.ToString()); } ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayPromptMessage("Enter a hover action:"); bool validResponse = false; if (Enum.TryParse <HoverAction>(Console.ReadLine(), out hoverActionChoice)) { validResponse = true; } else { ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("You must choose a from the list above."); ConsoleUtil.DisplayMessage("Please re-enter an option."); } SoundPlayer player = new SoundPlayer(); player.SoundLocation = AppDomain.CurrentDomain.BaseDirectory + "\\hoverboard.wav"; player.Play(); DisplayContinuePrompt(); return(hoverActionChoice); }
/// <summary> /// get and validate the player's year destination /// </summary> /// <returns>space-time location</returns> public YearLocation DisplayGetTravelersNewDestination() { bool validResponse = false; int locationID; YearLocation nextYearTimeLocation = new YearLocation(); while (!validResponse) { // // display header // ConsoleUtil.HeaderText = "Year Destination"; ConsoleUtil.DisplayReset(); // // display a table of locations DisplayYearDestinationTable(); // // get and validate user's response for a location // ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayPromptMessage("Choose the year destination by entering the ID: "); // // user's response is an integer // if (int.TryParse(Console.ReadLine(), out locationID)) { ConsoleUtil.DisplayMessage(""); try { nextYearTimeLocation = _gameYear.GetYearTimeLocationByID(locationID); ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage($"You have indicated {nextYearTimeLocation.Name} as your destination."); ConsoleUtil.DisplayMessage(""); if (nextYearTimeLocation.Accessable == true) { validResponse = true; ConsoleUtil.DisplayMessage("You have reached 88 miles per hour in the DeLorean. Were off to the Future!"); } else { ConsoleUtil.DisplayMessage("The Flux Capacitor is broke and you can't travel to this year at this time. This could have something to do with your inventory value"); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Please make another choice."); } } // // user's response was not in the correct range // catch (ArgumentOutOfRangeException ex) { ConsoleUtil.DisplayMessage("It appears you entered an invalid year ID."); ConsoleUtil.DisplayMessage(ex.Message); ConsoleUtil.DisplayMessage("Please try again."); } } // // user's response was not an integer // else { ConsoleUtil.DisplayMessage("It appears you did not enter a number for the year ID."); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Please try again."); } DisplayContinuePrompt(); } return(nextYearTimeLocation); }
/// <summary> /// get and validate the player's year destination /// </summary> /// <returns>-time location</returns> public YearLocation DisplayGetTravelersNewDestination() { bool validResponse = false; int locationID; YearLocation nextYearTimeLocation = new YearLocation(); while (!validResponse) { // // display header // ConsoleUtil.HeaderText = "Year Destination"; ConsoleUtil.DisplayReset(); // // display a table of locations DisplayYearDestinationTable(); // // get and validate user's response for a location // ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayPromptMessage("Choose the year destination by entering the ID: "); // // user's response is an integer // if (int.TryParse(Console.ReadLine(), out locationID)) { ConsoleUtil.DisplayMessage(""); try { nextYearTimeLocation = _gameYear.GetYearTimeLocationByID(locationID); ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage($"You have indicated {nextYearTimeLocation.Name} as your destination."); ConsoleUtil.DisplayMessage(""); if (nextYearTimeLocation.Accessable == true) { validResponse = true; ConsoleUtil.DisplayMessage("You have reached 88 miles per hour in the DeLorean. Were off to the Future!"); var myplayer = new System.Media.SoundPlayer(); myplayer.SoundLocation = @"C:\Users\Jennifer\Documents\Visual Studio 2015\Projects\Back To The Future Game [sprint 3]\Project_TARDIS.S2_Starter\sound\workedgreat.wav"; myplayer.Play(); } else if (nextYearTimeLocation.Accessable == false) { ConsoleUtil.DisplayMessage("The Flux Capacitor is broke and you can't travel to this year at this time. This could have something to do with your inventory items"); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Please make another choice."); var myplayer = new System.Media.SoundPlayer(); myplayer.SoundLocation = @"C:\Users\Jennifer\Documents\Visual Studio 2015\Projects\Back To The Future Game [sprint 3]\Project_TARDIS.S2_Starter\sound\wrongyear.wav"; myplayer.Play(); } else { } } // // user's response was not in the correct range // catch (ArgumentOutOfRangeException ex) { ConsoleUtil.DisplayMessage("It appears you entered an invalid year ID."); ConsoleUtil.DisplayMessage(ex.Message); ConsoleUtil.DisplayMessage("Please try again."); } } // // user's response was not an integer // else { ConsoleUtil.DisplayMessage("It appears you did not enter a number for the year ID."); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Please try again."); } DisplayContinuePrompt(); } return(nextYearTimeLocation); }