/// <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; } else { ConsoleUtil.DisplayMessage( "It appears that you have entered an incorrect response." + " Please enter either \"yes\" or \"no\"." ); DisplayContinuePrompt(); } } return(yesNoChoice); }
/// <summary> /// display a list of all TARDIS destinations /// </summary> public void DisplayListAllTARDISDestinations() { ConsoleUtil.HeaderText = "Space-Time Locations"; ConsoleUtil.DisplayReset(); DisplayContinuePrompt(); }
/// <summary> /// display information about the current space-time location /// </summary> public void DisplayLookAround() { ConsoleUtil.HeaderText = "Current Space-Time Location Info"; ConsoleUtil.DisplayReset(); DisplayContinuePrompt(); }
/// <summary> /// display the current traveler information /// </summary> public void DisplayTravelerInfo() { ConsoleUtil.HeaderText = "Traveler Info"; ConsoleUtil.DisplayReset(); DisplayContinuePrompt(); }
/// <summary> /// display information about the current space-time location /// </summary> public void DisplayLookAround() { ConsoleUtil.HeaderText = "Current Space-Time Location Info"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(_gameUniverse.GetSpaceTimeLocationByID(_gameTraveler.SpaceTimeLocationID).Description); DisplayContinuePrompt(); }
/// <summary> /// display information about the current space-time location /// </summary> public void DisplayLookAround() { ConsoleUtil.HeaderText = "Current Space-Time Location Info"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayHeading(currentLocation().Name); ConsoleUtil.DisplayMessage(currentLocation().Description); DisplayContinuePrompt(); }
/// <summary> /// get and validate the player's TARDIS destination /// </summary> /// <returns>Space-Time Location object</returns> public SpaceTimeLocation DisplayGetTravelersNewDestination() { bool validResponse = false; int locationID; SpaceTimeLocation nextSpaceTimeLocation = new SpaceTimeLocation(); while (!validResponse) { // // display header // ConsoleUtil.HeaderText = "TARDIS Destination"; ConsoleUtil.DisplayReset(); // // display a table of space-time locations // DisplayTARDISDestinationsTable(); // // get and validate user's response for a space-time location // // // validate user's response for integer // if (int.TryParse(Console.ReadLine(), out locationID)) { ConsoleUtil.DisplayMessage(""); // // validate user's response for range and accessible // try { } // // user's response was not in the correct range // catch (ArgumentOutOfRangeException ex) { } } // // user's response was not an integer // else { } DisplayContinuePrompt(); } return(nextSpaceTimeLocation); }
/// <summary> /// display information about items and treasures in the current space-time location /// </summary> public void DisplayLookAt() { int currentSptID = _gameTraveler.SpaceTimeLocationID; List <Item> itemsInSpt = new List <Item>(); List <Treasure> treasuresInSpt = new List <Treasure>(); Item itemToLookAt = new Item(); Treasure treasureToLookAt = new Treasure(); itemsInSpt = _gameUniverse.GetItemtsBySpaceTimeLocationID(currentSptID); treasuresInSpt = _gameUniverse.GetTreasuresBySpaceTimeLocationID(currentSptID); ConsoleUtil.HeaderText = "Look at a Game Items in Current Location"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(_gameUniverse.GetSpaceTimeLocationByID(currentSptID).Name); if (itemsInSpt != null) { ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Items in current location."); DisplayItemTable(itemsInSpt); ConsoleUtil.DisplayPromptMessage( "Enter the item number to view or press the Enter key to move on. " ); // TODO code in validation int itemIDChoice; if (int.TryParse(Console.ReadLine(), out itemIDChoice)) { itemToLookAt = _gameUniverse.GetItemtByID(itemIDChoice); ConsoleUtil.DisplayMessage(itemToLookAt.Description); DisplayContinuePrompt(); } } if (treasuresInSpt != null) { ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Treasures in current location."); DisplayTreasureTable(treasuresInSpt); ConsoleUtil.DisplayPromptMessage( "Enter the treasure number to view or press the Enter key to move on. " ); // TODO code in validation int treasureIDChoice; if (int.TryParse(Console.ReadLine(), out treasureIDChoice)) { treasureToLookAt = _gameUniverse.GetTreasureByID(treasureIDChoice); ConsoleUtil.DisplayMessage(treasureToLookAt.Description); DisplayContinuePrompt(); } } }
/// <summary> /// display message indicating the traveler is out of lives /// </summary> public void DisplayOutOfLives() { ConsoleUtil.HeaderText = "Exit"; ConsoleUtil.DisplayReset(); Console.CursorVisible = false; Console.WriteLine(); ConsoleUtil.DisplayMessage("It appears that you are out of lives in for this game. Pleaser return and play again."); DisplayContinuePrompt(); }
/// <summary> /// setup the new Traveler object /// </summary> public void DisplayMissionSetupIntro() { // // display header // ConsoleUtil.HeaderText = "Mission Setup"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("You will now be prompted to enter the starting parameters of your mission."); DisplayContinuePrompt(); }
public int DisplayPickUpItem() { ConsoleUtil.HeaderText = "Pick Up Item"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Items"); ConsoleUtil.DisplayMessage(""); int itemID = 0; int locationID; locationID = _gameTraveler.SpaceTimeLocationID; foreach (Item item in _gameUniverse.Items) { if (item.SpaceTimeLocationID == locationID) { Console.WriteLine("Item: " + item.Name + "\nItem ID: " + item.GameObjectID); Console.WriteLine(); Console.WriteLine(); } } bool valid = false; while (!valid) { itemID = DisplayGetIntegerInRange(0, 1000, "Enter Item ID or press 'esc': "); foreach (Item item in _gameUniverse.Items) { if (item.SpaceTimeLocationID == locationID) { if (item.GameObjectID == itemID) { item.SpaceTimeLocationID = 0; valid = true; DisplayContinuePrompt(); } else if (item.GameObjectID != locationID) { Console.WriteLine("Please enter a valid Item ID"); } } } } //itemID = int.Parse(Console.ReadLine()); return(itemID); }
/// <summary> /// display the Exit prompt on a clean screen /// </summary> public void DisplayExitPrompt() { ConsoleUtil.HeaderText = "Exit"; ConsoleUtil.DisplayReset(); Console.CursorVisible = false; Console.WriteLine(); ConsoleUtil.DisplayMessage("- Insert Exit Message - "); Console.ReadKey(); System.Environment.Exit(1); }
/// <summary> /// display the Exit prompt on a clean screen /// </summary> public void DisplayExitPrompt() { ConsoleUtil.HeaderText = "Exit"; ConsoleUtil.DisplayReset(); Console.CursorVisible = false; Console.WriteLine(); ConsoleUtil.DisplayMessage("Thank you for playing The TARDIS Project. Press any key to Exit."); Console.ReadKey(); System.Environment.Exit(1); }
/// <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); }
public int DisplayPickUpTreasure() { ConsoleUtil.HeaderText = "Pick Up Treasure"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Treasures"); ConsoleUtil.DisplayMessage(""); int treasureID = 0; int locationID; locationID = _gameTraveler.SpaceTimeLocationID; foreach (Treasure treasure in _gameUniverse.Treasures) { if (treasure.SpaceTimeLocationID == locationID) { Console.WriteLine("Treasure: " + treasure.Name + "\nTreasure ID: " + treasure.GameObjectID); Console.WriteLine(); Console.WriteLine(); } } bool valid = false; while (!valid) { treasureID = DisplayGetIntegerInRange(0, 1000, "Enter Item ID or press 'esc': "); foreach (Treasure treasure in _gameUniverse.Treasures) { if (treasure.SpaceTimeLocationID == locationID) { if (treasure.GameObjectID == treasureID) { treasure.SpaceTimeLocationID = 0; valid = true; DisplayContinuePrompt(); } else if (treasure.GameObjectID != locationID) { Console.WriteLine("Please enter a valid Item ID"); } } } } return(treasureID); }
/// <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(); DisplayContinuePrompt(); return(travelersName); }
/// <summary> /// display the current traveler information /// </summary> public void DisplayTravelerInfo() { ConsoleUtil.HeaderText = "Traveler Info"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage($"Traveler's Name: {_gameTraveler.Name}"); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage($"Traveler's Race: {_gameTraveler.Race}"); ConsoleUtil.DisplayMessage(""); string spaceTimeLocationName = _gameUniverse.GetSpaceTimeLocationByID(_gameTraveler.SpaceTimeLocationID).Name; ConsoleUtil.DisplayMessage($"Traveler's Current Location: {spaceTimeLocationName}"); DisplayContinuePrompt(); }
/// <summary> /// display a list of all TARDIS destinations /// <summary> public void DisplayListAllTARDISDestinations() { ConsoleUtil.HeaderText = "Space-Time Locations"; ConsoleUtil.DisplayReset(); foreach (SpaceTimeLocation location in _gameUniverse.SpaceTimeLocations) { ConsoleUtil.DisplayMessage("ID: " + location.SpaceTimeLocationID); ConsoleUtil.DisplayMessage("Name: " + location.Name); ConsoleUtil.DisplayMessage("Description: " + location.Description); ConsoleUtil.DisplayMessage("Accessible: " + location.Accessable); ConsoleUtil.DisplayMessage(""); } DisplayContinuePrompt(); }
/// <summary> /// display the current traveler inventory /// </summary> public void DisplayTravelerItems() { ConsoleUtil.HeaderText = "Traveler Inventory"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage("Traveler Items"); ConsoleUtil.DisplayMessage(""); foreach (Item item in _gameTraveler.TravelersItems) { ConsoleUtil.DisplayMessage("ID: " + item.GameObjectID); ConsoleUtil.DisplayMessage("Name: " + item.Name); ConsoleUtil.DisplayMessage("Description: " + item.Description); ConsoleUtil.DisplayMessage(""); } DisplayContinuePrompt(); }
/// <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> private 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 message confirming mission setup /// </summary> public void DisplayMissionSetupConfirmation() { // // display header // ConsoleUtil.HeaderText = "Mission Setup"; ConsoleUtil.DisplayReset(); // // display confirmation // ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Your mission setup is complete."); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("To view your TARDIS traveler information use the Main Menu."); DisplayContinuePrompt(); }
/// <summary> /// display the current traveler's treasure /// </summary> public void DisplayTravelerTreasure() { ConsoleUtil.HeaderText = "Traveler Inventory"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Traveler Treasure"); ConsoleUtil.DisplayMessage(""); foreach (Treasure treasure in _gameTraveler.TravelersTreasures) { ConsoleUtil.DisplayMessage("ID: " + treasure.GameObjectID); ConsoleUtil.DisplayMessage("Name: " + treasure.Name); ConsoleUtil.DisplayMessage("Description: " + treasure.Description); ConsoleUtil.DisplayMessage(""); } DisplayContinuePrompt(); }
/// <summary> /// display information about items and treasures in the current space-time location /// </summary> public void DisplayTalkTo() { int currentSptID = _gameTraveler.SpaceTimeLocationID; int dalekIDChoice; List <Dalek> dalecksInSpt = new List <Dalek>(); Dalek dalekToTalkTo = new Dalek(); dalecksInSpt = _gameUniverse.GetDaleksBySpaceTimeLocationID(currentSptID); ConsoleUtil.HeaderText = "Talk to the Daleks in Current Location"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(_gameUniverse.GetSpaceTimeLocationByID(currentSptID).Name); if (dalecksInSpt != null) { ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Daleks in current location."); DisplayDalekTable(dalecksInSpt); ConsoleUtil.DisplayPromptMessage( "Enter the item number to view or press the Enter key to move on. " ); // TODO code in validation if (int.TryParse(Console.ReadLine(), out dalekIDChoice)) { dalekToTalkTo = _gameUniverse.GetDalekByID(dalekIDChoice); if (dalekToTalkTo.HasMessage) { ConsoleUtil.DisplayMessage(dalekToTalkTo.Message); } else { ConsoleUtil.DisplayMessage($"This Dalek has nothing to say {_gameTraveler.Race}."); } DisplayContinuePrompt(); } } }
/// <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> /// display information about items and treasures in the current space-time location /// </summary> public void DisplayLookAt() { ConsoleUtil.HeaderText = "Nearby Items and Treasure"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayHeading(currentLocation().Name); ConsoleUtil.DisplayMessage($"> You see {localItems().Count} item(s)"); foreach (Item item in localItems()) { ConsoleUtil.DisplayMessage(item.ToString()); } ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage($"> You see {localTreasures().Count} treasure(s)"); foreach (Treasure treasure in localTreasures()) { ConsoleUtil.DisplayMessage(treasure.ToString()); } DisplayContinuePrompt(); }
/// <summary> /// display information about items and treasures in the current space-time location /// </summary> public Dalek DisplayGetDalekToBattle() { int currentSptID = _gameTraveler.SpaceTimeLocationID; int dalekIDChoice; List <Dalek> dalecksInSpt = new List <Dalek>(); Dalek dalekToBattle = null; dalecksInSpt = _gameUniverse.GetDaleksBySpaceTimeLocationID(currentSptID); ConsoleUtil.HeaderText = "Battle Daleks in Current Location"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(_gameUniverse.GetSpaceTimeLocationByID(currentSptID).Name); if (dalecksInSpt != null) { ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Daleks in current location."); DisplayDalekTable(dalecksInSpt); ConsoleUtil.DisplayPromptMessage( "Enter the item number to view or press the Enter key to move on. " ); // TODO code in validation if (int.TryParse(Console.ReadLine(), out dalekIDChoice)) { dalekToBattle = _gameUniverse.GetDalekByID(dalekIDChoice); DisplayContinuePrompt(); } } else { ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("It appears there are not Daleks in here to battle."); } return(dalekToBattle); }
/// <summary> /// display the results of the battle based on the BattleResult /// </summary> /// <param name="battleResult"></param> public void DisplayBattleResults(BattleResult battleResult) { ConsoleUtil.HeaderText = "Battle Results"; ConsoleUtil.DisplayReset(); switch (battleResult) { case BattleResult.TravelerWins: ConsoleUtil.DisplayMessage("You have dispatched the Dalek! Congratulations!"); break; case BattleResult.NPCWins: ConsoleUtil.DisplayMessage("I am sorry to say that the Dalek was too much for you."); ConsoleUtil.DisplayMessage("You were quickly dispatched by the Dalek."); break; case BattleResult.TravelerRetreats: ConsoleUtil.DisplayMessage("The Dalek fires a burst of energy over your head as you retreat."); ConsoleUtil.DisplayMessage("You run screaming like a little baby!"); break; case BattleResult.NPCRetreats: ConsoleUtil.DisplayMessage("Frightened by your obvious fighting prowess, the Dalek retreats in fear!"); break; case BattleResult.Draw: ConsoleUtil.DisplayMessage("The battle was fierce. You and the Dalek are spent, crawling away to fight another day."); break; case BattleResult.BothRetreat: ConsoleUtil.DisplayMessage("You are both cowards and the Gods watch as both of you run form each other yelling!"); break; default: break; } DisplayContinuePrompt(); }
public void DisplayLookAt() { ConsoleUtil.HeaderText = "NPCs in current location"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("NPCs"); ConsoleUtil.DisplayMessage(""); int locationID; locationID = _gameTraveler.SpaceTimeLocationID; foreach (NPC npc in _gameUniverse.NPCs) { if (npc.SpaceTimeLocationID == locationID) { Console.WriteLine(npc.Name); Console.WriteLine("Talk to? (y/n)"); Console.WriteLine(); string userChoice = Console.ReadLine(); if (userChoice == "y") { if (npc.SpaceTimeLocationID == locationID) { Console.WriteLine(npc.Message); Console.WriteLine(); } else { return; } } } } DisplayContinuePrompt(); }
public Treasure DisplayPutDownTreasure() { ConsoleUtil.HeaderText = "Put Down Treasure"; ConsoleUtil.DisplayReset(); if (_gameTraveler.TravelersTreasures.Count == 0) { ConsoleUtil.DisplayMessage("You have no treasures"); DisplayContinuePrompt(); return(null); } else { ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Your Treasures"); ConsoleUtil.DisplayMessage(""); Treasure choice = DisplayChooseFromList <Treasure>("Which treasure to put down?", _gameTraveler.TravelersTreasures); ConsoleUtil.DisplayMessage(">Put down a " + choice.Name); DisplayContinuePrompt(); return(choice); } }
/// <summary> /// display information about the current space-time location /// </summary> public void DisplayLookAround() { ConsoleUtil.HeaderText = "Current Space-Time Location Info"; ConsoleUtil.DisplayReset(); ConsoleUtil.DisplayMessage(_gameUniverse.GetSpaceTimeLocationByID(_gameTraveler.SpaceTimeLocationID).Description); ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Items in current location."); foreach (Item item in _gameUniverse.GetItemtsBySpaceTimeLocationID(_gameTraveler.SpaceTimeLocationID)) { ConsoleUtil.DisplayMessage(item.Name + " - " + item.Description); } ConsoleUtil.DisplayMessage(""); ConsoleUtil.DisplayMessage("Treasures in current location."); foreach (Treasure treasure in _gameUniverse.GetTreasuressBySpaceTimeLocationID(_gameTraveler.SpaceTimeLocationID)) { ConsoleUtil.DisplayMessage(treasure.Name + " - " + treasure.Description); } DisplayContinuePrompt(); }