warfighter67

RndNum Game

Oct 5th, 2012
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.54 KB | None | 0 0
  1. /***
  2.  *
  3.  * @author
  4.  * October 5, 2012
  5.  *
  6.  * High-Low Game part 2
  7.  *
  8.  * Description: Part 1 of the High-low Game. Generates a random integer
  9.  * from 0 to 500 that the user guesses. Outputs "higher" or "lower" until
  10.  * number is guessed correctly.
  11.  *
  12.  */
  13.  
  14. import java.util.*;
  15.  
  16. public class Expressions
  17. {
  18.  
  19.     public static void main(String[] args)
  20.     {
  21.         Scanner scan_in = new Scanner(System.in);
  22.         int rndNum = 0, guess = 0, numGuesses = 0;
  23.         int ruledOutNumLow = 0, ruledOutNumHigh = 500;
  24.         int rounds = 0, totalGuesses = 0;
  25.         double averageGuessAmount = 0.0;
  26.         String answer = ""; char response;
  27.         boolean validAnswer = false;
  28.        
  29.         do
  30.         {
  31.             numGuesses = 0;
  32.             ruledOutNumLow = 0;
  33.             ruledOutNumHigh = 500;
  34.             rndNum = (int) (Math.random() * 500);
  35.             //System.out.println(rndNum);
  36.             do
  37.             {
  38.                 System.out.print("Guess a number between 0 and 500, -1 to give up: ");
  39.                 guess = scan_in.nextInt();
  40.                 if(guess == -1) break;
  41.                 if(guess != rndNum)
  42.                 {
  43.                     if(guess < rndNum)
  44.                     {
  45.                         if(guess < ruledOutNumLow)
  46.                         {
  47.                             printThis(ruledOutNumLow, ruledOutNumHigh);
  48.                         }
  49.                         else
  50.                         {
  51.                             ruledOutNumLow = guess + 1;
  52.                             System.out.println("Your guess is too low.");
  53.                         }
  54.                     }
  55.                     else
  56.                     {
  57.                         if(guess > ruledOutNumHigh)
  58.                         {
  59.                             printThis(ruledOutNumLow, ruledOutNumHigh);
  60.                         }
  61.                         else
  62.                         {
  63.                             ruledOutNumHigh = guess - 1;
  64.                             System.out.println("Your guess is too high.");
  65.                         }
  66.                     }
  67.                 }
  68.                 numGuesses++;
  69.             }
  70.             while(guess != rndNum);
  71.            
  72.             if(guess != -1)
  73.             {
  74.                 System.out.println("Congrats! You guessed the number in " + numGuesses + " tries!");
  75.                 rounds++;
  76.                 totalGuesses += numGuesses;
  77.             }
  78.            
  79.             do
  80.             {
  81.                 System.out.print("Play again? (Y/N): ");
  82.                 answer = scan_in.next();
  83.                 response = answer.charAt(0);
  84.                 //System.out.println(response);
  85.                 if(response == 'Y' || response == 'y' || response == 'N' || response == 'n')
  86.                     validAnswer = true;
  87.                 if(!validAnswer)
  88.                     System.out.println("Please enter Y or N.");
  89.             }
  90.             while(!validAnswer);
  91.         }
  92.         while(response == 'Y' || response == 'y');
  93.        
  94.         averageGuessAmount = (double)totalGuesses/rounds;
  95.        
  96.         System.out.println("Thanks for playing!");
  97.         System.out.println("You took an average of " + averageGuessAmount + " guesses per round.");
  98.     }
  99.    
  100.     public static void printThis(int low, int high)
  101.     {
  102.         System.out.println("That number has already been ruled out by prior guesses. Only the numbers " + low + " through " + high + " are valid guesses.");
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment