static void Main(string[] args) { //this is how we instantiate a new instance of our pet VirtualPet myPet = new VirtualPet(); //TODO add a greeting for the user. you can also let the user name the pet if you like //Added greeting for user and prompted user to input a name for their pet tiger Console.WriteLine("Hello! Welcome to Virtual Pet Tiger."); Console.WriteLine("\r\n\r\nYou will be taking care of your very own pet tiger!"); Console.WriteLine("\r\n\r\nPlease enter a name for your tiger: "); //Declare string variable and define it with user-given pet name string tigerName = Console.ReadLine(); //Keep user informed about the name they chose Console.WriteLine("\r\n\r\nAwesome! Meet " + tigerName + ", your new pet tiger!"); //Store ASCII art of tiger's face in a string; use Environment.NewLine to connect each line together string tigerFace = (" _" + Environment.NewLine + " __ __ ' `." + Environment.NewLine + " .' `. .-'\\`-. ./ |" + Environment.NewLine + " | \\-'-'_\\`-`_/ |" + Environment.NewLine + " | \\--'-\\-._-.'/ )" + Environment.NewLine + " \\ \\ .'.'--'|\\`--._`.-'." + Environment.NewLine + " )`' .''' .'.-L-.`-.\\ '." + Environment.NewLine + " // _'/J '- ///|\\\\|-.``.`'." + Environment.NewLine + " .'/'/ .'.-`( | '|` ..-.'( L- L" + Environment.NewLine + " // |J J|]`((\"\\)\\ J(\".'`J||- |" + Environment.NewLine + " / | |) || Y.`.`\\.' -. L' - J ||| - -" + Environment.NewLine + " /. ' |`.J|J\\ ))J' / \"-. \\`'/'/- \"" + Environment.NewLine + "J - - \\ L\\`.-' || .' \\ \\`'J J |" + Environment.NewLine + " | -'_-'. (= `.//.-.__ \" _ L-/.-. |" + Environment.NewLine + "| - )_\\\\`|...(`-.\".''.)/ -. )---" + Environment.NewLine + " | -'') `\\.::::.`.|/.:.'`- ``--._" + Environment.NewLine + "J - ' -'.' )./ \\::::::'X::::\\` ``` ____" + Environment.NewLine + ") \\ ' '// ///''.__-'--`-\\\\ \\ `__" + Environment.NewLine + "|\\' .' /|/ ' '/// ' \"` \\|\\`` -.`--." + Environment.NewLine + "| `.' /.' ) | ( )``-' . `." + Environment.NewLine + "J `.'_.' / / '''.____.'.'.-' | `. `" + Environment.NewLine + "(`. `-.') . \" _.'. .' '.'` `." + Environment.NewLine + "|`.\\ \' \\ )' |)/ .- ' | .'" + Environment.NewLine + "/ `.\\ `.\\ /|.'// .-' J /" + Environment.NewLine + " `. \\`\" )// // L" + Environment.NewLine + " _ ` ` . / .'' _.--'' |" + Environment.NewLine + " --._ '|` .'.'-\"\"-` |\";" + Environment.NewLine); Console.WriteLine(tigerFace); //Declare int variable for user menu selection int selectedOption; //Create a do while loop for user menu with options do { //TODO fill this out with more options to interact with the pet //Added seven menu options for user Console.WriteLine(); Console.WriteLine(tigerName + " the Tiger"); Console.WriteLine("\r\n\r\nPlease select an option:"); Console.WriteLine("1 - Feed " + tigerName + "."); Console.WriteLine("2 - Give " + tigerName + " a drink of water."); Console.WriteLine("3 - Take " + tigerName + " out for a bathroom break."); Console.WriteLine("4 - Go on an exciting adventure with " + tigerName + "."); Console.WriteLine("5 - Let " + tigerName + " get some sleep."); Console.WriteLine("6 - Give " + tigerName + " a bath."); Console.WriteLine("7 - Quit the game."); Console.WriteLine(); Console.WriteLine("**Try not to let tiger's stats reach zero.**"); Console.Write("> "); //store user selection in variable and convert to int selectedOption = int.Parse(Console.ReadLine()); Console.Clear(); //use switch case to determine reactions to user selections switch (selectedOption) { //when the user selects option one we feed the pet case 1: myPet.HungerScoreHigher(); myPet.ThirstScoreLower(); //Tiger gets thirsty when eating myPet.WasteScoreLower(); //Tiger will have to go to the bathroom Console.WriteLine("\r\n\r\nThank you for feeding " + tigerName + "!"); break; //TODO we need to add more cases for the other ways to interact with our pet //when the user selects option two we give tiger a drink case 2: myPet.ThirstScoreHigher(); myPet.WasteScoreLower(); //Tiger will have to go to the bathroom Console.WriteLine("\r\n\r\nYou gave " + tigerName + " some water!"); break; case 3: myPet.WasteScoreHigher(); Console.WriteLine("\r\n\r\n" + tigerName + " went out for a much needed bathroom break."); break; case 4: myPet.BoredomScoreHigher(); myPet.HungerScoreLower(); //Tiger works up an appetite during an adventure myPet.ThirstScoreLower(); //Tiger is thirsty after all that adventuring myPet.FatigueScoreLower(); //Exciting adventures make tiger sleepy Console.WriteLine("\r\n\r\nYou went on a wild adventure with " + tigerName + "!!"); break; case 5: myPet.FatigueScoreHigher(); myPet.WasteScoreLower(); //Tiger may need to use the bathroom after waking up Console.WriteLine("\r\n\r\n" + tigerName + " is well-rested now thanks to a nice long cat nap."); break; case 6: myPet.HygieneScoreHigher(); myPet.BoredomScoreLower(); //Bathing is kinda boring for tiger Console.WriteLine("\r\n\r\nWonderful! " + tigerName + " is sparkling clean!"); break; case 7: Console.WriteLine("Thank you for playing.. " + tigerName + " is gonna miss you!!"); Console.WriteLine("\r\n\r\nPlease help support Tiger conservation efforts: \r\n\r\nPeople and tigers increasingly compete for space.\r\nThe conflict threatens the world’s remaining wild tigers and poses a major problem for communities living in or near forests with tigers.\r\nAs forests shrink and prey gets scarce, tigers are forced to hunt domestic livestock, which many local communities depend on for their livelihood.\r\nIn retaliation, tigers are killed or captured.\r\n“Conflict” tigers are known to end up for sale in black markets.\r\nLocal community dependence on forests for fuelwood, food and timber heightens the risk of tiger attacks on people.\r\nContact the World Wildlife Foundation for more information."); return; default: Console.WriteLine("Invalid option selected."); break; } Console.WriteLine(); //Print out tiger face to console before each status update Console.WriteLine(tigerFace); //call on method to give pet status update myPet.MyPetStatus(); //call on method to let pet do random stuff myPet.UnpredictablePet(); //TODO We can put method calls here so the pet can have some values change automatically //Feel free to add, remove, or modify which methods are called here //Use if statements to determine when each score should automatically lower based upon user selections if (selectedOption != 1) { myPet.HungerScoreLower(); } if (selectedOption != 4) { myPet.BoredomScoreLower(); } if (selectedOption != 5) { myPet.FatigueScoreLower(); } if (selectedOption != 6) { myPet.HygieneScoreLower(); } } while (selectedOption != 7); }
static void Main(string[] args) { //This program is a virtual pet program. The user practices taking care of a virtual pet. //The program tracks the status of the pet and gives the user a score which represents their //skill at taking care of their pet. //Future improvements planned: update user score in random events // prevent a random event from occuring twice // add more random events // allow a random event to terminate the program string input = ""; // user input string userName; // user's name string petName; // pet's name string[] menu = new string[10]; // stores menu choices int selectedOption = -1; // menu choice (parsed from input) int counter = 0; // counter int randomNumber = -1; // random number double score = 0; // user's score double number; // dummy variable to hold temporary information double time, newTime, elapsedTime; // time variables to determine elapsed time double rndTime, newRndTime; // elapsed time for random function bool quit; // tests whether to quit the program VirtualPet myPet = new VirtualPet(); //instantiate a new Virtual Pet Random rnd = new Random(); // setup random number generator userName = Greet(); // Greet the user and get their name petName = GetPetName(userName); // Select pet name if (petName != "") { myPet.Name = petName; // Set pet name based on user input (unless it is blank) } petName = myPet.Name; // set petName to myPet.Name which will be either default or user input //personalize menu choices with name of pet //this was setup this way in case I wanted to add more pet options in the future and vary the menu //for each different type of pet. It is not necessary for the program as it is now. menu[1] = " 1. Feed " + myPet.Name + "."; menu[2] = " 2. Give " + myPet.Name + " water."; menu[3] = " 3. Take " + myPet.Name + " out to use the bathroom."; menu[4] = " 4. Take " + myPet.Name + "to the park to play."; menu[5] = " 5. " + myPet.Name + " isn't feeling well. Take him to the vet."; menu[6] = " 6. Quit"; time = DateTime.Now.Hour * 3600 + DateTime.Now.Minute * 60 + DateTime.Now.Second; //get current time rndTime = time; do { counter++; if (counter > 4) //automatic changes to pet attributes based on time don't start until the 5th loop //this gives the user a chance to get used to the program before it gets more difficult. { score = myPet.Warnings(userName, score); // print warnings if pet is in danger and adjust user score newTime = DateTime.Now.Hour * 3600 + DateTime.Now.Minute * 60 + DateTime.Now.Second; elapsedTime = newTime - time; // calculate elapsed time since last menu entry if (elapsedTime < 0) { elapsedTime = 0; } if (elapsedTime > 20) { elapsedTime = 20; //caps the elapsed time so that changes are not too great } myPet.HungerChange(elapsedTime * 0.2); //increase hunger as time goes by myPet.ThirstChange(elapsedTime * 0.2); //increase thirst as time goes by myPet.WasteChange(elapsedTime * 0.2); //increase waste as time goes by myPet.BoredomChange(elapsedTime * 0.2); //increase boredom as time goes by time = newTime; } quit = myPet.Terminate; // get current terminate status if (!quit) { myPet.MyPetStatus(userName, score); // print pet's current status //set random events randomNumber = rnd.Next(1, 50); // pick random number between 1 and 100 newRndTime = DateTime.Now.Hour * 3600 + DateTime.Now.Minute * 60 + DateTime.Now.Second; if ((newRndTime - rndTime) > 15) // set minimum frequency of random events in seconds { rndTime = myPet.RandomEvent(randomNumber, newRndTime, userName, myPet.Name, score, rndTime); // get random event } Console.WriteLine(); Console.WriteLine("\r\n Please select an option:\r\n"); // prompt user for menu choice for (int i = 0; i < 7; i++) { Console.WriteLine(menu[i]); // print menu choices for user } input = Console.ReadLine().Trim().ToLower(); // read user input selectedOption = GetInput(input); // call method GetInput to validate user input } else { selectedOption = 6; // terminate program if terimate=true } switch (selectedOption) // perform action based on user input { case 1: // feed the pet myPet.HungerChange(-1); Console.Clear(); Console.WriteLine("\r\n\t\tThank you for feeding {0}!", myPet.Name); break; case 2: // give pet water myPet.ThirstChange(-1); Console.Clear(); Console.WriteLine("\r\n\t\tThank you for giving {0} water!", myPet.Name); break; case 3: // bathroom break! myPet.WasteChange(-0.7); Console.Clear(); Console.WriteLine("\r\n\tThank you for letting {0} outside to go potty!", myPet.Name); break; case 4: // play with pet myPet.BoredomChange(-1); myPet.HungerChange(0.2); myPet.ThirstChange(0.4); myPet.SickChange(-0.2); myPet.WasteChange(-0.5); Console.Clear(); Console.WriteLine("\r\n\t\t{0} had a wonderful time with you!", myPet.Name); break; case 5: // take pet to vet myPet.SickChange(-2); Console.Clear(); number = myPet.Sick; if (number < 5) { Console.WriteLine("\r\n\t{0} feels so much better now. Thank you!", myPet.Name); } if (number < 8 && number >= 5) { Console.WriteLine("\r\n\t{0} feels much better, but you should propbably\r\n\tkeep a close eye on him.", petName); } if (number >= 8) { Console.WriteLine("\r\n\tThank you for taking {0} to the vet. He is still not feeling well\r\n\tand may need another visit.", petName); } break; case 6: // quit Console.WriteLine("\r\n\tThank you for playing, {0}. Your final score is: {1}", userName, score); Console.WriteLine("\r\n\r\n\r\n\r\nPress return to exit..."); Console.ReadLine(); break; default: Console.WriteLine("*** Invalid option selected.\r\n\r\nPress any key to continue..."); Console.ReadKey(); break; } } while (selectedOption != 6); }
static void Main(string[] args) { //create a pet to use as an object for calling PrintCenter() //Is there a better way to do this? VirtualPet aPet = new VirtualPet(); //Welcome text introducing user to the page. string welcome = "Welcome to dragon training!"; string welcome1 = "Oh, wait, sorry. This isn't Berk."; string welcome2 = "What I meant to say was:"; string welcome3 = "WELCOME TO THE DRAGON HATCHERY"; //print centered welcome text aPet.PrintCenter(welcome); aPet.PrintCenter(welcome1); aPet.PrintCenter(welcome2); aPet.PrintCenter(welcome3); //create space Console.WriteLine(); Console.WriteLine(); //Introduction text - introduces dragons and some of the guidelines string intro = "So you want to adopt a dragon."; string intro1 = "Before you decide to go through with the adoption"; string intro2 = "there are a few things you should know."; string intro3 = "As with other animals, dragons need food, water, exercise and sleep."; string intro4 = "In addition, however, dragons have an innate need to...vent."; string intro5 = "Basically, they must be allowed to wreak devestation."; string intro6 = "Fire and teeth and claws and all that."; string intro7 = "Make sure you have a proper wilderness on loan where you can"; string intro8 = "bring your dragon for this purpose!"; string intro9 = "It's truly a dreadful thing when our customers try"; string intro10 = "to keep their dragons pent up."; string intro11 = "Truly dreadful. You can't imagine the ... well, enough of that."; //print centered intro text aPet.PrintCenter(intro); aPet.PrintCenter(intro1); aPet.PrintCenter(intro2); Console.WriteLine(); aPet.PrintCenter(intro3); aPet.PrintCenter(intro4); aPet.PrintCenter(intro5); aPet.PrintCenter(intro6); aPet.PrintCenter(intro7); aPet.PrintCenter(intro8); Console.WriteLine(); aPet.PrintCenter(intro9); aPet.PrintCenter(intro10); aPet.PrintCenter(intro11); Console.WriteLine("\r\n\r\n\r\nPress any key to continue"); Console.ReadKey(); Console.Clear(); //guideline text string guide = "Just some general things to keep an eye out for:"; string guide1 = "Your dragon will let you know what he needs."; string guide2 = "When he needs something, his levels will rise."; string guide3 = "Just make sure you don't let them rise above 25!"; string guide4 = "You might not like the consequences..."; string guide5 = "When his needs are met, his levels will sit around 0."; string guide6 = "Another word of warning, don't try to push him past what he needs."; string guide7 = "If they enter the negatives, beware!"; //print centered guideline text Console.WriteLine(); aPet.PrintCenter(guide); Console.WriteLine(); aPet.PrintCenter(guide1); Console.WriteLine(); aPet.PrintCenter(guide2); aPet.PrintCenter(guide3); aPet.PrintCenter(guide4); Console.WriteLine(); aPet.PrintCenter(guide5); aPet.PrintCenter(guide6); aPet.PrintCenter(guide7); Console.WriteLine("\r\n\r\n\r\n\r\nPress any key to continue"); Console.ReadKey(); Console.Clear(); //outro text leading to game string last = "Okay, do you want to continue with the adoption?"; string last1 = "Oh, good. We weren't going to let you escape, anyways!"; string last2 = "There are so few willing to adopt dragons these days..."; string last3 = "Well, on to the final question before we send you on your way!"; string last4 = "What would you like to name your dragon?"; //print centered outro text aPet.PrintCenter(last); Console.ReadLine(); //give user chance to "enter" answer, even though it doesn't matter Console.WriteLine(); aPet.PrintCenter(last1); aPet.PrintCenter(last2); aPet.PrintCenter(last3); Console.WriteLine(); //Get user to name the pet aPet.PrintCenter(last4); string petName = Console.ReadLine(); //Wish user and dragon luck string sendOff = "Best of luck to you and " + petName + "."; string sendOff2 = "We hope the two of you enjoy a long and happy relationship!"; //print centered send-off text Console.WriteLine(); Console.WriteLine(); aPet.PrintCenter(sendOff); aPet.PrintCenter(sendOff2); //instantiate a new instance of the pet VirtualPet myPet = new VirtualPet(petName); //declare variables that will be used in the do/while loop string userOption; //stores which menu option user chooses int selectedOption; //stores which menu option the user chooses as an int after TryParse int ctr = 0; //will count how many times the loop has run //clear screen and enter game Console.WriteLine("\r\n\r\n\r\n\r\nPress any key to continue"); Console.ReadKey(); Console.Clear(); do { //list the alternate scenarios the user will encounter based on the number of times they have cycled through the loop if (ctr == 8 || ctr == 34) { Console.ReadKey(); Console.Clear(); myPet.WatchNeighborDragon(); Console.WriteLine(); Console.WriteLine("\r\nPress any key to continue"); Console.ReadKey(); Console.WriteLine(); } else if (ctr == 16 || ctr == 44) { Console.ReadKey(); Console.Clear(); myPet.PetRunsAwayScenario(); } else if (ctr == 24 || ctr == 54) { Console.ReadKey(); Console.Clear(); myPet.SickPetScenarioGeneral(); } else { //even if there's not any other possible condition, should I have an else statement, even if it's blank? } //call method that checks to see if stats are too high or two low and respond accordingly myPet.StatConsequences(); //creates space between iteration and also between asking for pet name and stat display Console.WriteLine(); //display updated pet status above the menu myPet.MyPetStatus(); //Menu of options for user actions Console.WriteLine(); Console.WriteLine("Please select an option:"); Console.WriteLine("1. Feed your dragon 5 head of cattle"); Console.WriteLine("2. Go to the lake"); Console.WriteLine("3. Practice flying maneuvers"); Console.WriteLine("4. Play \"hide the treasure\" (fake treasure of course!)"); Console.WriteLine("5. Fly to wildlands (here your dragon can vent!)"); Console.WriteLine("6. Sleep under the stars"); Console.WriteLine("7. Host a barbeque, courtesy of dragon fire!"); Console.WriteLine("10. Quit"); //record user choice userOption = Console.ReadLine(); //Create space between menu and user options Console.WriteLine(); //create a random number generator that will randomly call Tick() Random RandomGenerator = new Random(); int randomNum = RandomGenerator.Next(0, 3); //Send user to Tick() if their input is invalid if (!int.TryParse(userOption, out selectedOption)) { myPet.Tick(1); Console.WriteLine(); Console.WriteLine("Press any key to continue"); Console.ReadKey(); } //randomly send user to Tick(). else if (randomNum == 2) { Console.WriteLine(); myPet.Tick(selectedOption); Console.WriteLine(); Console.WriteLine("Press any key to continue"); Console.ReadKey(); } //Filter user input to appropriate menu option else if (int.TryParse(userOption, out selectedOption)) { switch (selectedOption) { //user selects 1 = feed the pet case 1: myPet.FoodDecrease(); myPet.FoodDecrease(); //other values increase myPet.WaterIncrease(); myPet.ExerciseIncrease(); myPet.DestructionIncrease(); //response to user action Console.WriteLine("Nothing beats a good steak."); break; //user selects 2 = water the pet case 2: myPet.WaterDecrease(); //other values increase myPet.DestructionIncrease(); //response to user action Console.WriteLine("Your dragon has thoroughly enjoyed your excursion and has replentlished its store of water"); break; //user selects 3 = fly pet case 3: myPet.ExerciseDecrease(); myPet.ExerciseDecrease(); //other values decrease myPet.DestructionDecreaseGeneral(); //other values increase myPet.FoodIncrease(); myPet.WaterIncrease(); myPet.SleepIncrease(); //response to user action Console.WriteLine("There's nothing like the feeling of soaring through the sky."); break; //user chooses 4 = play treasure game case 4: myPet.ExerciseDecrease(); //other values increase myPet.FoodIncrease(); myPet.WaterIncrease(); myPet.SleepIncrease(); myPet.DestructionIncrease(); //response to user action Console.WriteLine("Use that dragon instinct for teasure! \r\n Of course, make sure you stay ahead of him and hide it well. \r\nDragons are remarkably intelligent!"); break; //user chooses 5 = wilderness trip case 5: myPet.DestructionDecreaseWilderness(); myPet.ExerciseDecrease(); myPet.ExerciseDecrease(); myPet.ExerciseDecrease(); //other values increase myPet.FoodIncrease(); myPet.FoodIncrease(); myPet.WaterIncrease(); myPet.WaterIncrease(); myPet.SleepIncrease(); myPet.SleepIncrease(); //response to user action Console.WriteLine("If you don't have a healthy respect for dragons, you do now!"); break; //user chooses 6 = sleep case 6: myPet.SleepDecrease(); //other values increase myPet.FoodIncrease(); myPet.WaterIncrease(); myPet.ExerciseIncrease(); myPet.DestructionIncrease(); myPet.DestructionIncrease(); //response to user action Console.WriteLine("Hopefully where you live the skies are clear. \r\nNothing like a summer evening streaked with shooting stars"); break; //user chooses 7 = barbeque case 7: myPet.DestructionDecreaseGeneral(); myPet.FoodDecrease(); //other values increase myPet.WaterIncrease(); myPet.WaterIncrease(); myPet.SleepIncrease(); //response to user actions Console.WriteLine("Remember the days when barbeques used to be a lot of work? \r\n Gone forever! \r\n\r\nLife is good."); break; //user chooses 10 = quit case 10: Console.WriteLine("It was lovely to meet you. " + petName + " will greatly miss you. We hope you will return soon!"); break; default: Console.WriteLine("Invalid option selected."); break; } //pauses screen after response to user, and they have to push a key to keep going Console.WriteLine(); Console.WriteLine("Press any key to continue"); Console.ReadKey(); } // is the ending of the else if statement that the program runs if tick isn't called. else { } // need an empty else statement to end the conditionals if don't have anything to put in it? ctr++; // keep track of how many times the loop has cyled through. //create space between each iteration for readability Console.WriteLine(); } while (selectedOption != 10); }
static void Main(string[] args) { //this is how we instantiate a new instance of our pet //int hunger = 1; //int thirst = 2; //TODO add a greeting for the user. you can also let the user name the pet if you like Console.WriteLine("Hello and welcome to Virtual Petland!"); Console.WriteLine("What would you like to name your pet kangaroo?"); string petName = Console.ReadLine(); VirtualPet myPet = new VirtualPet(petName, 1, 2, "pat", "run", "jump"); int selectedOption; do { //TODO fill this out with more options to interact with the pet Console.WriteLine(); Console.WriteLine("Please select an option between 1 and 5. Type 'Q' to Quit "); Console.WriteLine("1. Feed " + petName); Console.WriteLine("2. Give " + petName + " something to drink"); Console.WriteLine("3. Take " + petName + " for a run"); Console.WriteLine("4. Pat " + petName + " on the head"); Console.WriteLine("5. Tell " + petName + " to do a trick"); Console.WriteLine("'10'. Quit"); selectedOption = int.Parse(Console.ReadLine()); while (selectedOption >= 1 && selectedOption <= 5) { ; } myPet.MyPetStatus(); switch (selectedOption) { //when the user selects option one we feed the pet //when the user selects option two we give the pet a drink //when the user selects option three we pat the pet on the head //when the user selects option four we take the pet for a run //when the user selects option five we ask the pet to jump through a hoop case 1: myPet.HungerDecrease(); Console.WriteLine("Thank you for feeding the pet"); Console.WriteLine("Bubbles has been fed, and hunger Level has been decreased"); break; case 2: myPet.ThirstDecrease(); Console.WriteLine(petName + " thanks you for the water!"); Console.WriteLine("Bubbles has been fed, and hunger Level has been decreased"); break; case 3: myPet.TouchPet(); Console.WriteLine("What a sweet thing to do for " + petName); Console.WriteLine("Bubbles has been fed but may still be a little hungry. Hunger Level has been decreased"); break; case 4: myPet.ExercisePet(); Console.WriteLine("Oh what fun to take " + petName + "for a run!"); break; case 5: myPet.TricksPet(); Console.WriteLine(petName + " likes to jump through hoops. What fun!"); break; case 6: Console.WriteLine("Pat on the head"); break; case 7: Console.WriteLine("Ride in " + petName + "'s pouch"); break; case 8: Console.WriteLine("Give " + petName + "a hug"); break; case 9: Console.WriteLine(petName + " thanks you for the love!"); break; case 10: Console.WriteLine(petName + " has enjoyed spending time with you. Good-bye! "); Console.WriteLine("Thank you for playing with" + petName); break; default: Console.WriteLine("Pick a valid option"); break; //TODO we need to add more cases for the other ways to interact with our pet } //TODO We can put method calls here so the pet can have some values change automatically //Feel free to add, remove, or modify which methods are called here myPet.HungerDecrease(); { Console.WriteLine("Invalid option. Please select a number between 1 and 5, or select '10' to Quit"); } Console.WriteLine("Please select an option to touch " + petName); Console.WriteLine("Select 1 to pat " + petName + "on the head"); Console.WriteLine("Select 2 to ride in " + petName + "'s pouch"); Console.WriteLine("Select 3 to hug " + petName); Console.WriteLine("Select '10' to Quit"); }while (selectedOption < 5 && selectedOption > 1); { Console.WriteLine("That was great! Select another option to keep playing!"); } }
static void Main(string[] args) { //new instance of the pet VirtualPet myPet = new VirtualPet(); //greet the user here Console.WriteLine("Hello, thank you for taking care of Ezra!"); Console.WriteLine(); int selectedOption; do { //these are the pet interactions Console.WriteLine(); Console.WriteLine("What would you like to do today?"); Console.WriteLine("1. Feed the pet"); //decreases hunger Console.WriteLine("2. Train the pet"); //increases intelligence Console.WriteLine("3. Give them water"); //decreases thirst Console.WriteLine("4. Play with them"); //decreases boredom Console.WriteLine("5. Tell the pet about your day"); //increases social need Console.WriteLine("6. Quit"); //ends the game Console.WriteLine(); selectedOption = int.Parse(Console.ReadLine()); myPet.MyPetStatus(); switch (selectedOption) { //when the user selects options, these switch cases change the stats case 1: myPet.HungerDecrease(); Console.WriteLine("Thank you for feeding Ezra!"); break; case 2: myPet.IntelIncrease(); Console.WriteLine("Ezra can now do new tricks!"); break; case 3: myPet.ThirstDecrease(); Console.WriteLine("Thank you for keeping Ezra hydrated!"); break; case 4: myPet.BoredomDecrease(); Console.WriteLine("Wow, Ezra sure is having fun!"); break; case 5: myPet.SocialIncrease(); Console.WriteLine("Ezra certainly found your day interesting!"); break; case 6: Console.WriteLine("Come back any time! (^_^)\"/\""); break; default: Console.WriteLine("Yikes! You chose to do nothing with that invalid option..."); break; } myPet.HungerIncrease(); myPet.SocialDecrease(); myPet.ThirstIncrease(); myPet.BoredomIncrease(); } while (selectedOption != 6); }
static void Main(string[] args) { //this is how we instantiate a new instance of our pet VirtualPet myPet = new VirtualPet(); //TODO add a greeting for the user. you can also let the user name the pet if you like Console.WriteLine("Hi, my name is, Glitch. Thank you for being my new friend!"); int selectedOption; //I understand that this variable was defined for use later do //A do while loop! It makes so much sense now! { //TODO fill this out with more options to interact with the pet //Note to self MVP- Add more options later. Make it work first! Console.WriteLine("\nPlease select an option\n"); Console.WriteLine("1. Feed me"); //Changed these options to sound like user was actually interacting with pet Console.WriteLine("2. Play a game with me"); Console.WriteLine("3. Take me to the vet"); Console.WriteLine("4. Give me water"); Console.WriteLine("5. Take me to the bathroom"); Console.WriteLine("10. Quit"); Console.WriteLine("\n"); selectedOption = int.Parse(Console.ReadLine()); //converts user input into a string to be used for interaction Console.WriteLine("\n"); myPet.MyPetStatus(); //Note to self, Is this calling the class myPet? Figure out why this works... switch (selectedOption) //I remember switch case and prefer this option when it is a good fit { //when the user selects option one we feed the pet case 1: myPet.HungerDecrease(); Console.WriteLine("Thank you, the food was yummy!\n"); break; case 2: //when selected, user plays with the pet myPet.LessBored(); Console.WriteLine("Thank you, I had so much fun playing!\n"); break; case 3: //when selected, user takes Glitch to the vet myPet.LessSick(); Console.WriteLine("Thank you, I feel much better!\n"); break; case 4: //when selected, user gives pet water myPet.LessThirsty(); Console.WriteLine("Thank you, that water was delicious!\n"); break; case 5: //when selected, user takes glitch to the bathroom myPet.GottaGoLater(); Console.WriteLine("Thank you for taking me to the bathroom.\n"); break; //TODO we need to add more cases for the other ways to interact with our pet case 10: Console.WriteLine("Thank you for taking such great care of me."); break; default: Console.WriteLine("Invalid option selected."); break; } //TODO We can put method calls here so the pet can have some values change automatically //Feel free to add, remove, or modify which methods are called here myPet.HungerIncrease(); myPet.MoreThirsty(); myPet.GottaGoNow(); //***Your methods should cause the appropriate fields to update - //***for instance, if you have a Feed() method, it might make Hunger go down, but make Thirst go up. //Note to self: I understand that these methods are being called and that's why they work //figure out why calling the method works vs using an if else statement //also figure out if an if else can be used in a loop for more control of what increases and why //for example thirst increasing after eating or playing... } while (selectedOption != 10); //The switch was inside of a loop allowing the magic to happen. //it really makes so much sense now! }
static void Main(string[] args) { // Introduction and Pet Naming VirtualPet myPet = new VirtualPet(); Console.Write("Hello! Welcome to VirtuaPet! \n\n" + " _ (`-." + "\n" + " \\`----. ) ^_`)" + "\n" + " ,__ \\__ `\\_ / ( `" + "\n" + " \\_\\ \\__ `| }" + "\n" + " \\\\ .-' \\__/ }" + "\n" + " ))/ \\__,< /_/" + "\n" + " ((| _/_/ `\\ \\_\\_" + "\n" + " '\\____\\\\ )__\\_\\" + "\n"); Console.Write("\n\nWould you like to name your Gryphon?(y/n): "); string nameQuest = Console.ReadLine().ToLower(); myPet.PetName(nameQuest); //if (nameQuest == "y" || nameQuest=="yes") //{ // myPet.PetName(); //} //else if(nameQuest=="n" || nameQuest == "no") //{ //} //else //{ // Console.WriteLine("Invalid answwer, would you like to name your Gryphon (y/n)?: "); // nameQuest = Console.ReadLine().ToLower(); // myPet.PetName(); //} // Main Menu int selectedOption; do { myPet.MyPetStatus(); Console.WriteLine(); Console.WriteLine("Please select an option"); Console.WriteLine("1. Feed your Gryphon"); Console.WriteLine("2. Give your Gryphon a drink"); Console.WriteLine("3. Put your Gryphon to bed"); Console.WriteLine("4. Play with your Gryphon"); Console.WriteLine("5. Discipline your Gryphon"); Console.WriteLine("6. Rename Gryphon"); //Console.WriteLine("7. Have your pet do a trick"); //Console.WriteLine("8. Advanced Options"); Console.WriteLine("7. Quit"); int quitOption = 7; selectedOption = int.Parse(Console.ReadLine()); switch (selectedOption) { // Feed Pet case 1: myPet.FeedPet(); if (myPet.DeathCheck()) { Console.WriteLine("\nGAME OVER!!"); selectedOption = quitOption; break; } break; // Hydrate Pet case 2: myPet.HydrationIncrease(); myPet.ActivityDecrease(); if (myPet.DeathCheck()) { Console.WriteLine("\nGAME OVER!!"); selectedOption = quitOption; break; } Console.WriteLine("Ahhh"); break; // Pet Sleep case 3: myPet.BehaviorIncrease(); myPet.HitPointsIncrease(); myPet.ManaIncrease(); myPet.ActivityDecrease(); if (myPet.DeathCheck()) { Console.WriteLine("\nGAME OVER!!"); selectedOption = quitOption; break; } Console.WriteLine("I feel much better after a nap, is what I would say if I could talk!"); break; // Play with Pet case 4: myPet.ActivityIncrease(); myPet.ActivityIncrease(); myPet.StomachDecrease(); myPet.HitPointsDecrease(); myPet.HydrationDecrease(); if (myPet.DeathCheck()) { Console.WriteLine("\nGAME OVER!!"); selectedOption = quitOption; break; } Console.WriteLine("That was fun!!"); break; // Discipline Pet case 5: myPet.Punish(); if (myPet.DeathCheck()) { Console.WriteLine("\nGAME OVER!!"); selectedOption = quitOption; break; } break; // Rename Pet case 6: myPet.PetName("y"); break; // Quit Option case 7: Console.WriteLine("Thank you for playing."); break; default: Console.WriteLine("Invalid option selected."); break; } } while (selectedOption != 7); }