Question: I am trying to make this JAVA GUI program play rock, paper, scissors but am having trouble writing the program to make it do so.

I am trying to make this JAVA GUI program play rock, paper, scissors but am having trouble writing the program to make it do so. Can someone help fix the current program so it can run and play properly? I need it to have a user enter R,P, or S, then press a button "Play!" then have it play against the computer's random play. Finally, it needs to print the result whether the user won, lost or tied. Thank you

import javax.swing.JFrame; import javax.swing.JLabel; import java.awt.Dimension; import java.util.Scanner; import java.util.Random; import javax.swing.SwingConstants; import javax.swing.JTextField; import javax.swing.JButton; import java.awt.Font; import javax.swing.JPanel; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.Color;

public class Rps extends JFrame { private JTextField txtGuess; private JTextField txtPlay; // text field for the user's guess private JLabel lblOutput; private int theNumber; public void checkGuess() { // method/function to check too high or too low txtPlay.getText(); String computerPlay; int personPlay; int computerInt; String guessText = txtGuess.getText(); String message = ""; Scanner scan = new Scanner(System.in); Random generator = new Random(); computerInt = generator.nextInt(3); switch (computerInt) { case 0: computerPlay = "R"; break; case 1: computerPlay = "P"; break; case 2: computerPlay = "S"; break; default: computerPlay = "no value"; } } public void checkGuess1() { // method/function to check too high or too low // get the user's guess String guessText = txtGuess.getText(); String message = ""; try { message = "Play again?"; switch (personPlay){ case "R": switch (theNumber) { case "R": lblOutput.setText("Tied. " + message); break; case "P": lblOutput.setText("You win. " + message); break; case "S": lblOutput.setText("You lose. " + message); System.out.println(message); break; } break; case "P": switch (theNumber) { case "R": lblOutput.setText("You win. " + message); break; case "P": lblOutput.setText("Tied. " + message); break; case "S": lblOutput.setText("You lose. " + message); System.out.println(message); break; } break; case "S": switch (theNumber) { case "R": lblOutput.setText("Tied. " + message); break; case "P": lblOutput.setText("You win. " + message); break; case "S": lblOutput.setText("You lose. " + message); System.out.println(message); break; } }

public Rps() { setTitle("Rock, Paper, Scissors Game"); getContentPane().setBackground(new Color(51, 204, 255)); setBackground(new Color(51, 204, 255)); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(null); JPanel panel = new JPanel(); panel.setBackground(new Color(51, 204, 255)); panel.setBounds(45, 95, 361, 29); getContentPane().add(panel); panel.setLayout(null); JLabel lblPlay = new JLabel("Enter your play: (R, P, or S)"); lblPlay.setBounds(6, 6, 263, 16); panel.add(lblPlay); lblPlay.setHorizontalAlignment(SwingConstants.RIGHT); JLabel lblRps = new JLabel("Rock, Paper, Scissors Game"); lblRps.setFont(new Font("Lucida Grande", Font.BOLD, 16)); lblRps.setBounds(0, 33, 450, 29); lblRps.setVerticalAlignment(SwingConstants.TOP); lblRps.setHorizontalAlignment(SwingConstants.CENTER); getContentPane().add(lblRps);

txtPlay = new JTextField(); txtPlay.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { checkGuess(); } }); txtPlay.setHorizontalAlignment(SwingConstants.CENTER); txtPlay.setBounds(270, 1, 65, 26); panel.add(txtPlay); txtPlay.setColumns(10); JButton btnPlay = new JButton("Play!"); btnPlay.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { checkGuess(); } }); btnPlay.setBounds(167, 157, 117, 29); getContentPane().add(btnPlay); }

public static void main(String[] args) { Rps theGame = new Rps(); theGame.newGame(); theGame.setSize(new Dimension(430, 330)); theGame.setVisible(true);

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!