Advertisement
Guest User

Untitled

a guest
Nov 18th, 2014
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.32 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.                  for (int guessesTaken = 1; guessesTaken <= 4; guessesTaken++)
  33.                  {               
  34.                      if (getUserGuess() == valueToGuess)
  35.                      {
  36.                          System.out.println("Correct! Play again? (y/n) ");
  37.                          if (sc.next().equalsIgnoreCase("y"))
  38.                              again = true;
  39.                          else
  40.                              again = false;
  41.                              mainAgain = true;
  42.                              break;
  43.                      }
  44.                      else if (getUserGuess() > valueToGuess)
  45.                          System.out.println("Too high!");
  46.                      else if (getUserGuess() < valueToGuess)
  47.                          System.out.println("Too low!");
  48.                      /*else
  49.                          System.out.println("Nope!");*/
  50.                      
  51.                      if (guessesTaken == 4)
  52.                      {
  53.                          System.out.println("Sorry, you ran out of guesses, the correct answer was " + valueToGuess + ". Do you want to play again? (y/n) ");
  54.                          if (sc.next().equalsIgnoreCase("y"))
  55.                              again = true;
  56.                          else
  57.                              again = false;
  58.                      }
  59.                      
  60.                  }
  61.                  
  62.              
  63.              }
  64.          }
  65.          else if (input.equalsIgnoreCase("b"))
  66.          {
  67.              boolean again = true;
  68.              while (again == true)
  69.              {
  70.                  valueToGuess = randInt(1,100);
  71.                  for (int guessesTaken = 1; guessesTaken <= 8; guessesTaken++)
  72.                  {               
  73.                      if (getUserGuess() == valueToGuess)
  74.                      {
  75.                          System.out.println("Correct! Play again? (y/n) ");
  76.                          if (sc.next().equalsIgnoreCase("y"))
  77.                              again = true;
  78.                          else
  79.                              again = false;
  80.                              mainAgain = true;
  81.                              break;
  82.                      }
  83.                      /*else if (getUserGuess() > valueToGuess)
  84.                          System.out.println("Too high!");
  85.                      else if (getUserGuess() < valueToGuess)
  86.                          System.out.println("Too low!");*/
  87.                      else
  88.                          System.out.println("Nope!");
  89.                      
  90.                      if (guessesTaken == 8)
  91.                      {
  92.                          System.out.println("Sorry, you ran out of guesses, the correct answer was " + valueToGuess + ". Do you want to play again? (y/n) ");
  93.                          if (sc.next().equalsIgnoreCase("y"))
  94.                              again = true;
  95.                          else
  96.                              again = false;
  97.                      }
  98.                      
  99.                  }
  100.                  
  101.              
  102.              }
  103.          }
  104.          else if (input.equalsIgnoreCase("c"))
  105.          {
  106.              boolean again = true;
  107.              while (again == true)
  108.              {
  109.              System.out.println("Enter the minimum: ");
  110.              lowerBound = sc.nextInt();
  111.              System.out.println("Enter the maximum: ");
  112.              upperBound = sc.nextInt();
  113.              System.out.println("Number of guesses: ");
  114.              numberOfGuesses = sc.nextInt();
  115.              valueToGuess = randInt(lowerBound, upperBound);
  116.              for (int guessesTaken = 1; guessesTaken <= numberOfGuesses; guessesTaken++)
  117.              {
  118.              if (getUserGuess() == valueToGuess)
  119.              {
  120.                  System.out.println("Correct! Play again? (y/n) ");
  121.                  if (sc.next().equalsIgnoreCase("y"))
  122.                      again = true;
  123.                  else
  124.                      again = false;
  125.                      mainAgain = true;
  126.                      break;
  127.              }
  128.              /*else if (getUserGuess() > valueToGuess)
  129.                  System.out.println("Too high!");
  130.              else if (getUserGuess() < valueToGuess)
  131.                  System.out.println("Too low!");*/
  132.              else
  133.                  System.out.println("Nope!");
  134.              if (guessesTaken == numberOfGuesses)
  135.              {
  136.                  System.out.println("Sorry, you ran out of guesses, the correct answer was " + valueToGuess + ". Do you want to play again? (y/n) ");
  137.                  if (sc.next().equalsIgnoreCase("y"))
  138.                      again = true;
  139.                  else
  140.                      again = false;
  141.              }
  142.                    
  143.                  
  144.                  
  145.              }
  146.              }
  147.              
  148.          }
  149.          else if (!input.equalsIgnoreCase("a") || !input.equalsIgnoreCase("b") || !input.equalsIgnoreCase("c"))
  150.          {
  151.              System.out.println("Sorry, that is not a valid response.");
  152.          }
  153.         }
  154. }
  155.      
  156.  
  157.  
  158.  
  159.  private static int randInt(int lowerBound, int upperBound)
  160.  
  161.  {
  162.      int random = (int) (Math.random() * (((upperBound - lowerBound)+1)) + lowerBound);
  163.      return random;
  164.  
  165.  }
  166.  
  167.  private static int getUserGuess()
  168.  
  169.  {
  170.      Scanner sc = new Scanner(System.in);
  171.      System.out.print("What is your guess? (hint: " + valueToGuess + ")");
  172.      int guess = sc.nextInt();
  173.      return guess;
  174.  
  175.  }
  176.  
  177.  private static void resetGame()
  178.  
  179.  { //prompt the user to inform them of the game choice:
  180.  
  181. // - [1,10] 3 guesses
  182.  
  183. // - [1,100] 8 guesses
  184.  
  185. // - [user defined lower, user defined upper] user defined guesses
  186.  
  187. // Set the appropriate fields
  188.  
  189.  }
  190.  
  191. // private static boolean gameOver()
  192.  
  193.  { //returns true if the game is over, false if not
  194.  
  195. // - The game is over when
  196.  
  197. // - the user runs out of guesses
  198.  
  199. // - the user correctly guesses the number
  200.  
  201. // be sure to notify the user why the game is over.
  202.  
  203. // - if they ran out of guesses, let them know what the correct number was
  204.  
  205.  }
  206.  
  207. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement