Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class GuessTheNumberGame
- {
- private static int valueToGuess;
- private static int numberOfGuesses;
- private static int guessesTaken;
- private static int lowerBound;
- private static int upperBound;
- public static void main(String[] args)
- {
- boolean mainAgain = true;
- while (mainAgain == true)
- {
- Scanner sc = new Scanner(System.in);
- System.out.println("A - You have 4 guesses to correctly guess a number between 1 and 10.");
- System.out.println("B - You have 8 guesses to correctly guess a number between 1 and 100.");
- System.out.println("C - You have as many guesses as you want to guess a number in any range.");
- System.out.print("Which game do you want? ");
- String input = sc.nextLine();
- if (input.equalsIgnoreCase("a"))
- {
- boolean again = true;
- while (again == true)
- {
- valueToGuess = randInt(1,10);
- int guess = getUserGuess();
- for (int guessesTaken = 1; guessesTaken <= 4; guessesTaken++)
- {
- if (guess == valueToGuess)
- {
- System.out.println("Correct! Play again? (y/n) ");
- if (sc.next().equalsIgnoreCase("y"))
- again = true;
- else
- {
- again = false;
- mainAgain = true;
- break;
- }
- }
- else
- {
- if (guess > valueToGuess)
- System.out.println("Too high!");
- if (guess < valueToGuess)
- System.out.println("Too low!");
- }
- /*else
- System.out.println("Nope!");*/
- if (guessesTaken == 4)
- {
- System.out.println("Sorry, you ran out of guesses, the correct answer was " + valueToGuess + ". Do you want to play again? (y/n) ");
- if (sc.next().equalsIgnoreCase("y"))
- again = true;
- else
- again = false;
- }
- }
- }
- }
- else if (input.equalsIgnoreCase("b"))
- {
- boolean again = true;
- while (again == true)
- {
- valueToGuess = randInt(1,100);
- for (int guessesTaken = 1; guessesTaken <= 8; guessesTaken++)
- {
- if (getUserGuess() == valueToGuess)
- {
- System.out.println("Correct! Play again? (y/n) ");
- if (sc.next().equalsIgnoreCase("y"))
- again = true;
- else
- again = false;
- mainAgain = true;
- break;
- }
- /*else if (getUserGuess() > valueToGuess)
- System.out.println("Too high!");
- else if (getUserGuess() < valueToGuess)
- System.out.println("Too low!");*/
- else
- System.out.println("Nope!");
- if (guessesTaken == 8)
- {
- System.out.println("Sorry, you ran out of guesses, the correct answer was " + valueToGuess + ". Do you want to play again? (y/n) ");
- if (sc.next().equalsIgnoreCase("y"))
- again = true;
- else
- again = false;
- }
- }
- }
- }
- else if (input.equalsIgnoreCase("c"))
- {
- boolean again = true;
- while (again == true)
- {
- System.out.println("Enter the minimum: ");
- lowerBound = sc.nextInt();
- System.out.println("Enter the maximum: ");
- upperBound = sc.nextInt();
- System.out.println("Number of guesses: ");
- numberOfGuesses = sc.nextInt();
- valueToGuess = randInt(lowerBound, upperBound);
- for (int guessesTaken = 1; guessesTaken <= numberOfGuesses; guessesTaken++)
- {
- if (getUserGuess() == valueToGuess)
- {
- System.out.println("Correct! Play again? (y/n) ");
- if (sc.next().equalsIgnoreCase("y"))
- again = true;
- else
- again = false;
- mainAgain = true;
- break;
- }
- /*else if (getUserGuess() > valueToGuess)
- System.out.println("Too high!");
- else if (getUserGuess() < valueToGuess)
- System.out.println("Too low!");*/
- else
- System.out.println("Nope!");
- if (guessesTaken == numberOfGuesses)
- {
- System.out.println("Sorry, you ran out of guesses, the correct answer was " + valueToGuess + ". Do you want to play again? (y/n) ");
- if (sc.next().equalsIgnoreCase("y"))
- again = true;
- else
- again = false;
- }
- }
- }
- }
- else if (!input.equalsIgnoreCase("a") || !input.equalsIgnoreCase("b") || !input.equalsIgnoreCase("c"))
- {
- System.out.println("Sorry, that is not a valid response.");
- }
- }
- }
- private static int randInt(int lowerBound, int upperBound)
- {
- int random = (int) (Math.random() * (((upperBound - lowerBound)+1)) + lowerBound);
- return random;
- }
- private static int getUserGuess()
- {
- Scanner sc = new Scanner(System.in);
- System.out.print("What is your guess? (hint: " + valueToGuess + ")");
- int guess = sc.nextInt();
- return guess;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement