Advertisement
Guest User

Untitled

a guest
May 26th, 2015
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. using System;
  2.  
  3. namespace GuessThatNumber
  4. {
  5. internal static class Program
  6. {
  7. //Init global variables
  8. private static readonly Random Random = new Random();
  9.  
  10. private static int _numberToGuess = 0;
  11.  
  12. private static void Main(string[] args)
  13. {
  14. //track number of guesses
  15. var numberOfGuesses = 0;
  16. //set keep guessing option (false when user guesses number properlly)
  17. var keepGuessing = true;
  18. //Assign a new number to guess
  19. _numberToGuess = Random.Next(1, 101);
  20.  
  21. while (keepGuessing)
  22. {
  23. //Get user input
  24. Console.Write("Pick a number between 1 and 100: ");
  25. var usersNumber = Console.ReadLine();
  26.  
  27. //Use a validator to make sure the user's input is a number between 1 and 100, continue until the input is valid
  28. if (usersNumber == null || !ValidateInput(usersNumber)) continue;
  29.  
  30. numberOfGuesses++;
  31. var parsedInput = int.Parse(usersNumber);
  32.  
  33. //Check if the user's number is the one
  34. if (parsedInput == _numberToGuess)
  35. {
  36. Console.WriteLine("That's it! Eureka!");
  37. Console.WriteLine("It took you {0} guesses", numberOfGuesses);
  38. keepGuessing = false;
  39. }
  40. else
  41. {
  42. //track how much further the user needs to go
  43. var howFarOff = 0;
  44. if (IsGuessTooHigh(parsedInput))
  45. {
  46. howFarOff = parsedInput - _numberToGuess;
  47. if (howFarOff >= 50)
  48. {
  49. Console.WriteLine("That guess is just too damn high...\n");
  50. }
  51. else if (howFarOff >= 20)
  52. {
  53. Console.WriteLine("Eh you're kind of close... lower man...\n");
  54. }
  55. else if (howFarOff >= 10)
  56. {
  57. Console.WriteLine("You're just a little to high...\n");
  58. }
  59. else
  60. {
  61. Console.WriteLine("A little lower and you're there!\n");
  62. }
  63. }
  64. else if (IsGuessTooLow(parsedInput))
  65. {
  66. howFarOff = _numberToGuess - parsedInput;
  67. if (howFarOff >= 50)
  68. {
  69. Console.WriteLine("That guess is just too damn low...\n");
  70. }
  71. else if (howFarOff >= 20)
  72. {
  73. Console.WriteLine("Eh you're kind of close... higher man...\n");
  74. }
  75. else if (howFarOff >= 10)
  76. {
  77. Console.WriteLine("You're just a little to low...\n");
  78. }
  79. else
  80. {
  81. Console.WriteLine("A little higher and you're there!\n");
  82. }
  83. }
  84. }
  85. }
  86.  
  87. //End of Program
  88. Console.ReadKey();
  89. }
  90.  
  91. public static bool ValidateInput(string userInput)
  92. {
  93. //check to make sure the user's input is a number
  94. int n;
  95. if (!int.TryParse(userInput, out n))
  96. Console.WriteLine("That isn't even a number... come on\n");
  97. else
  98. {
  99. //check to make sure that the users input is a valid number between 1 and 100.
  100. if (n > 0 && n < 101)
  101. return true;
  102. else
  103. Console.WriteLine("What part about pick a number between 1 and 100 wasn't clear enough?\n");
  104. }
  105.  
  106. return false;
  107. }
  108.  
  109. public static void SetNumberToGuess(int number)
  110. {
  111. //Override global variable holding the number the user needs to guess.
  112. _numberToGuess = number;
  113. }
  114.  
  115. public static bool IsGuessTooHigh(int userGuess)
  116. {
  117. //return true if the number guessed by the user is too high
  118. return userGuess > _numberToGuess;
  119. }
  120.  
  121. public static bool IsGuessTooLow(int userGuess)
  122. {
  123. //return true if the number guessed by the user is too low
  124. return userGuess < _numberToGuess;
  125. }
  126. }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement