Untitled

 avatar
unknown
plain_text
5 months ago
2.6 kB
3
Indexable
	public static void main(String[] args) {
		
		Scanner console = new Scanner(System.in);
		Random generator = new Random();
		
		play(console, generator);

	}
	
	//play until stopped by user
	public static void play(Scanner console, Random generator) {
		int totalGames = 1;
		int totalGuesses = 0;
		int bestGame = 1;
		int bestGameGuess = 0;
		do {
			//int randomInt = generator.nextInt(101) + 1;
			int randomInt = 50;
			int gameGuess = guess(console, randomInt);
			totalGuesses += gameGuess;
			totalGames += 1;
			if (gameGuess > bestGameGuess) {
				bestGame = totalGames;
			}
		} while (again(console));
		
		stats(totalGames, totalGuesses, bestGame);
	}
	
	//returns true or false to play again
	public static boolean again(Scanner console) {
			char answer = (ask(console, "Play again?")).charAt(0);
			return (answer == 'y' || answer == 'Y');
	}
	
	//user input to play again
	public static String ask(Scanner console, String prompt) {
		System.out.println(prompt);
		return console.next();
	}
	
	//game code
	public static int guess(Scanner console, int randomInt) {
		System.out.println("I'm thinking of a number between 1 and 100...");

		int end = 0;
		int count = 1;
		
		while (end != 1) {
		    
		  System.out.println("Your guess?");
		
            String input = console.nextLine();
            int guess = 0;

            try { 
                guess = Integer.parseInt(input);
            } 
            catch(Exception e) {
                System.out.println("Your guess was not a whole number between 1 and 100.");
                continue;
            }
			
			if (guess < 1 || guess > 100) {
			    System.out.println("Your guess was not a whole number between 1 and 100.");
			    continue;
			}
		
			if (guess > randomInt) {
				System.out.println("It's lower.");
				count += 1;
			}
			
			if (guess < randomInt) {
				System.out.println("It's higher.");
				count += 1;
			}
			
			if (guess == randomInt) {
				System.out.println("You guessed it in " + count + " guesses!");
				end = 1;
			}
		}
		return count;
		
	}
	
	//results; total games, total guesses, guesses per game, best game
	public static void stats(int totalGames, int totalGuesses, int bestGame) {
		System.out.println();
		System.out.println("Your overall results:");
		System.out.println("Total games = " + totalGames);
		System.out.println("Total guesses = " + totalGuesses);
		System.out.println("Guesses/game = " + totalGuesses / totalGames);
		System.out.println("Best game = " + bestGame);
	}
Editor is loading...
Leave a Comment