Question

In: Computer Science

Develop a Java application that plays a "guess the number" game as described below. a) The...

Develop a Java application that plays a "guess the number" game as described below.

a) The user interface is displayed and the user clicks the “Start Game” button to begin the game.

b) Your application then gets a random number in the range 1-1000 inclusive (you might want to use Math.random or the Random class).

c) The application then displays the following prompt (probably via a JLabel): I have a number between 1 and 1000 can you guess my number? Please enter a number for your first guess and then hit Enter. Post a textbox for the user to enter a number and post a message telling the user to hit 'Enter' after entering a guess in a textbox (probably using a JTextField).

d) Input the user's guess in the code for a previously-registered event-handler method (consider using the event-handling approach discussed in the text, or the actionPerformed method of class based on the ActionListener interface, which will require some additional research outside the text).

e) For the first guess color the entire background red, meaning that they are getting warmer and for some initial confidence. You might want to use the setBackground method for a container. If this is the second or later guess, and they are further from the correct number than the last guess, then color the entire background blue. If they get the correct number then color the background some other color than red or blue.

f) If the user guesses the number correctly, respond with their number, post a congratulatory message, get a new random number, and display a JButton to start a new game. Otherwise, to help the user close in on the correct number, post a message, with their guessed number, whether they are "TOO HIGH" or "TOO LOW" from the correct number, and whether they are "WARMER" or "COLDER" (this should match the background color). Also report the guess number of the next guess (e.g. "Enter guess number nnn"). You might want to use a concatenated string in JLabel for these incorrect guess messages.

g) The process is repeated each game until the user guesses the correct number. Be sure that you erase obsolete status messages.

Solutions

Expert Solution

PROGRAM CODE:

package GUI;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Random;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class GuessTheNumber {

  

   public static int randomNumber()

   {

       Random random = new Random();

       return (random.nextInt(1000) + 1);

   }

  

   public static void main(String[] args) {

       JFrame frame = new JFrame("Maximum");

      

       JButton startGame = new JButton("Start Game");

       JLabel result = new JLabel("");

       //components within the panel

       JPanel pane = new JPanel(new FlowLayout());

       pane.setBackground(Color.RED);

      

      

      

       startGame.addActionListener(new ActionListener() {

          

           @Override

           public void actionPerformed(ActionEvent e) {

               String message = "I have a number between 1 and 1000 can you guess my number?\nPlease enter a number for your first guess and then hit Enter.\nEnter 0 to quit";

               int numGuesses = 1;

               int number = randomNumber();

               while(true)

               {

                   try

                   {

                      

                       int value = Integer.valueOf(JOptionPane.showInputDialog(message));

                       if(value < 0 || value > 1000)

                           throw new NumberFormatException();

                      

                       if(value == number)

                       {

                           pane.setBackground(Color.YELLOW);

                           result.setText("You won! Number is " + number + ". Total number of guesses: " + numGuesses);

                           break;

                       }

                       else if(value==0)

                       {

                           result.setText("You failed! Number is " + number + ". Total number of Guesses: " + numGuesses);

                           break;

                       }

                       else if(value > number)

                       {

                           pane.setBackground(Color.BLUE);

                           result.setText("You guessed " + value + ". It is TOO HIGH from the correct number");

                       }

                       else if(value < number)

                       {

                           pane.setBackground(Color.RED);

                           result.setText("You guessed " + value + ". It is TOO LOW from the correct number");

                       }

                       numGuesses++;

                       message = "Enter guess number " + numGuesses;

                   }

                   catch(NumberFormatException nfe)

                   {

                       JOptionPane.showMessageDialog(null, "Please enter a number between 1 and 1000 or 0 to quit");

                   }

               }}

       });

       //components within the frame

       pane.add(startGame);

       pane.add(result, FlowLayout.CENTER);

       frame.setContentPane(pane);

       frame.setVisible(true);

       frame.setMinimumSize(new Dimension(400, 400));

       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       frame.pack();

   }

}

OUTPUT:


Related Solutions

Develop a Java application to simulate a game played in an elementary classroom. In this game,...
Develop a Java application to simulate a game played in an elementary classroom. In this game, the teacher places herself in the center of a circle of students surrounding her. She then distributes an even number of pieces of candy to each student. Not all students will necessarily receive the same number of pieces; however, the number of pieces of candy for each student is even and positive. When the teacher blows a whistle, each student takes half of his...
(HTML) Write a script that plays a “guess the number” game as follows: Your program chooses...
(HTML) Write a script that plays a “guess the number” game as follows: Your program chooses the number to be guessed by selecting a random integer in the range 1 to 1000. The script displays the prompt Guess a number between 1 and 1000 next to a text field. The player types a first guess into the text field and clicks a button to submit the guess to the script. If the player's guess is incorrect, your program should display...
guessing game in Java. It will have a guess input used for guessing the random number...
guessing game in Java. It will have a guess input used for guessing the random number that is generated from 1 - 100. When the user makes a guess it will tell them if the number is lower or higher than the guess. There is also a choice to give up which then reveals the correct number. The last choice will be new game which resets the random number. Last, the program should keep counts of tries. When the user...
JAVA : Design and implement an application that plays the Rock-Paper-Scissors game against the computer. When...
JAVA : Design and implement an application that plays the Rock-Paper-Scissors game against the computer. When played between two people, each person picks one of three options (usually shown by a hand gesture) at the same time, and a winner is determined. In the game, Rock beats Scissors, Scissors beats Paper, and Paper beats Rock. The program should randomly choose one of the three options (without revealing it) and then prompt for the user’s selection. At that point, the program...
Project 5-3: Guessing Game Create an application that lets a user guess a number between 1...
Project 5-3: Guessing Game Create an application that lets a user guess a number between 1 and 100. Console Welcome to the Guess the Number Game ++++++++++++++++++++++++++++++++++++ I'm thinking of a number from 1 to 100. Try to guess it. Enter number: 50 You got it in 1 tries. Great work! You are a mathematical wizard. Try again? (y/n): y I'm thinking of a number from 1 to 100. Try to guess it. Enter number: 50 Way too high! Guess...
Number guessing Game (20 Marks) Write a C program that implements the “guess my number” game....
Number guessing Game Write a C program that implements the “guess my number” game. The computer chooses a random number using the following random generator function srand(time(NULL)); int r = rand() % 100 + 1; that creates a random number between 1 and 100 and puts it in the variable r. (Note that you have to include <time.h>) Then it asks the user to make a guess. Each time the user makes a guess, the program tells the user if...
Write a Java program that lets the user play a game where they must guess a...
Write a Java program that lets the user play a game where they must guess a number between zero and one hundred (0-100). The program should generate a random number between 0 and 100 and then the user will try to guess the number. The program should help the user guess the number (see details below). The program must allow the user five attempts to guess the number. Further Instruction: (a) Declare a variable diff and assign to it the...
Write a program with at least 2 functions that play the game of “guess the number”...
Write a program with at least 2 functions that play the game of “guess the number” as follows: Your program chooses the number to be guessed by selecting an integer at random in the range 1 to 1000. The program then displays the following: I have a number between 1 and 1000. Can you guess my number? Please type in your first guess. The player then types the first guess. The program then responds with one of the following: 1.      ...
Create a Guess the Number game. Python randomly chooses a secret four-digit number (with no repeating...
Create a Guess the Number game. Python randomly chooses a secret four-digit number (with no repeating digits) and asks the user to guess it. The user has up to ten attempts to guess the number. After each guess, Python gives the user two clues (until the user either guesses the number correctly or runs out of attempts): The number of digit(s) in the user’s guess that is (are) both correct and in the right position. The number of digit(s) in...
Create an application that makes the user guess a number. The user must be allowed tries....
Create an application that makes the user guess a number. The user must be allowed tries. You must have a loop, user input (Scanner), and a constructor. (JAVA)
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT