Advertisement
Guest User

Untitled

a guest
Nov 18th, 2014
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.77 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class GuessTheNumberGame
  4. {
  5. private static int valueToGuess;
  6.  
  7. private static int numberOfGuesses;
  8.  
  9. private static int guessesTaken;
  10.  
  11. private static int lowerBound;
  12.  
  13. private static int upperBound;
  14.  
  15. public static void main(String[] args)
  16. {
  17. boolean mainAgain = true;
  18. while (mainAgain == true)
  19. {
  20. Scanner sc = new Scanner(System.in);
  21. System.out.println("A - You have 4 guesses to correctly guess a number between 1 and 10.");
  22. System.out.println("B - You have 8 guesses to correctly guess a number between 1 and 100.");
  23. System.out.println("C - You have as many guesses as you want to guess a number in any range.");
  24. System.out.print("Which game do you want? ");
  25. String input = sc.nextLine();
  26. if (input.equalsIgnoreCase("a"))
  27. {
  28. boolean again = true;
  29. while (again == true)
  30. {
  31. valueToGuess = randInt(1,10);
  32. int guess = getUserGuess();
  33. for (int guessesTaken = 1; guessesTaken <= 4; guessesTaken++)
  34. {
  35. if (guess == valueToGuess)
  36. {
  37. System.out.println("Correct! Play again? (y/n) ");
  38. if (sc.next().equalsIgnoreCase("y"))
  39. again = true;
  40. else
  41. {
  42. again = false;
  43. mainAgain = true;
  44. break;
  45. }
  46. }
  47. else
  48. {
  49. if (guess > valueToGuess)
  50. System.out.println("Too high!");
  51. if (guess < valueToGuess)
  52. System.out.println("Too low!");
  53. }
  54. /*else
  55. System.out.println("Nope!");*/
  56.  
  57. if (guessesTaken == 4)
  58. {
  59. System.out.println("Sorry, you ran out of guesses, the correct answer was " + valueToGuess + ". Do you want to play again? (y/n) ");
  60. if (sc.next().equalsIgnoreCase("y"))
  61. again = true;
  62. else
  63. again = false;
  64. }
  65.  
  66. }
  67.  
  68.  
  69. }
  70. }
  71. else if (input.equalsIgnoreCase("b"))
  72. {
  73. boolean again = true;
  74. while (again == true)
  75. {
  76. valueToGuess = randInt(1,100);
  77. for (int guessesTaken = 1; guessesTaken <= 8; guessesTaken++)
  78. {
  79. if (getUserGuess() == valueToGuess)
  80. {
  81. System.out.println("Correct! Play again? (y/n) ");
  82. if (sc.next().equalsIgnoreCase("y"))
  83. again = true;
  84. else
  85. again = false;
  86. mainAgain = true;
  87. break;
  88. }
  89. /*else if (getUserGuess() > valueToGuess)
  90. System.out.println("Too high!");
  91. else if (getUserGuess() < valueToGuess)
  92. System.out.println("Too low!");*/
  93. else
  94. System.out.println("Nope!");
  95.  
  96. if (guessesTaken == 8)
  97. {
  98. System.out.println("Sorry, you ran out of guesses, the correct answer was " + valueToGuess + ". Do you want to play again? (y/n) ");
  99. if (sc.next().equalsIgnoreCase("y"))
  100. again = true;
  101. else
  102. again = false;
  103. }
  104.  
  105. }
  106.  
  107.  
  108. }
  109. }
  110. else if (input.equalsIgnoreCase("c"))
  111. {
  112. boolean again = true;
  113. while (again == true)
  114. {
  115. System.out.println("Enter the minimum: ");
  116. lowerBound = sc.nextInt();
  117. System.out.println("Enter the maximum: ");
  118. upperBound = sc.nextInt();
  119. System.out.println("Number of guesses: ");
  120. numberOfGuesses = sc.nextInt();
  121. valueToGuess = randInt(lowerBound, upperBound);
  122. for (int guessesTaken = 1; guessesTaken <= numberOfGuesses; guessesTaken++)
  123. {
  124. if (getUserGuess() == valueToGuess)
  125. {
  126. System.out.println("Correct! Play again? (y/n) ");
  127. if (sc.next().equalsIgnoreCase("y"))
  128. again = true;
  129. else
  130. again = false;
  131. mainAgain = true;
  132. break;
  133. }
  134. /*else if (getUserGuess() > valueToGuess)
  135. System.out.println("Too high!");
  136. else if (getUserGuess() < valueToGuess)
  137. System.out.println("Too low!");*/
  138. else
  139. System.out.println("Nope!");
  140. if (guessesTaken == numberOfGuesses)
  141. {
  142. System.out.println("Sorry, you ran out of guesses, the correct answer was " + valueToGuess + ". Do you want to play again? (y/n) ");
  143. if (sc.next().equalsIgnoreCase("y"))
  144. again = true;
  145. else
  146. again = false;
  147. }
  148.  
  149.  
  150.  
  151. }
  152. }
  153.  
  154. }
  155. else if (!input.equalsIgnoreCase("a") || !input.equalsIgnoreCase("b") || !input.equalsIgnoreCase("c"))
  156. {
  157. System.out.println("Sorry, that is not a valid response.");
  158. }
  159. }
  160. }
  161.  
  162.  
  163.  
  164.  
  165. private static int randInt(int lowerBound, int upperBound)
  166.  
  167. {
  168. int random = (int) (Math.random() * (((upperBound - lowerBound)+1)) + lowerBound);
  169. return random;
  170.  
  171. }
  172.  
  173. private static int getUserGuess()
  174.  
  175. {
  176. Scanner sc = new Scanner(System.in);
  177. System.out.print("What is your guess? (hint: " + valueToGuess + ")");
  178. int guess = sc.nextInt();
  179. return guess;
  180.  
  181. }
  182. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement