Now we have an improved version of the game Rock Paper and S

Now we have an improved version of the game “Rock, Paper, and Scissor”, now make it more ROBUST by doing Error Checking for user input.

IMPROVED VERSION OF THE GAME BELOW:

package com.ssg;

import javax.swing.JOptionPane;

public class FirstGame {
public static void main(String args[]) {
// Variable declaration
int yourChoice, computerChoice; // comment please!
String yourInput; // comment please!

// Welcome screen and show the basic rule to the user
JOptionPane.showMessageDialog(null,
\"Welcome to Paper, Scissor and Rock\");
JOptionPane
.showMessageDialog(
null,
\"Let me remind you the rule first:\ Scissor cuts paper, paper covers rock, and rock breaks scissors.\");
JOptionPane.showMessageDialog(null, \"0: Rock\ 1: Paper\ 2: Scissor\");

// Get your choice
yourInput = JOptionPane.showInputDialog(\"Now tell me your choice!\");
yourChoice = Integer.parseInt(yourInput);

// Get computer choice
computerChoice = (int) (Math.random() * 10); // generate a random number
computerChoice %= 3; // Why we need to modulus 3 here? Think about it.

// Compare your Choice with computer’s choice and output the result
// Case I: Both you and computer pick the same choice, then it’s a tie!
if (yourChoice == computerChoice) {
JOptionPane.showMessageDialog(null, \"It’s a tie!\");
}

// Case II: You WIN :)
// if (yourChoice > computerChoice){
// JOptionPane.showMessageDialog(null,\"You Win!\");
else if (yourChoice == 0 && computerChoice == 1) {
JOptionPane.showMessageDialog(null, \"You chose 2 \"
+ \"\ Computer generated 1 \" + computerChoice
+ \"/n so you win!\");
}

else if (yourChoice == 0 && computerChoice == 2) {
JOptionPane.showMessageDialog(null, \"You chose 0 \"
+ \"\ Computer generated 2 \" + computerChoice
+ \"/n so you win!\");
} else if (yourChoice == 1 && computerChoice == 0) {
JOptionPane.showMessageDialog(null, \"You chose 1 \"
+ \"\ Computer generated 0\" + computerChoice
+ \"/n so you win!\");
}

// Case III: You lose :(
// if (yourChoice < computerChoice){
// JOptionPane.showMessageDialog(null,\"You lose\");
else if (yourChoice == 2 && computerChoice == 0) {
JOptionPane.showMessageDialog(null, \"You chose 2 \"
+ \"\ Computer generated 0 \" + computerChoice
+ \"/n so you lose!\");
} else if (yourChoice == 0 && computerChoice == 1) {
JOptionPane.showMessageDialog(null, \"You chose 0 \"
+ \"\ Computer generated 1 \" + computerChoice
+ \"/n so you lose!\");
} else if (yourChoice == 1 && computerChoice == 2) {
JOptionPane.showMessageDialog(null, \"You chose 1 \"
+ \"\ Computer generated 2 \" + computerChoice
+ \"/n so you lose!\");
}

}
}

Solution

check the modified code


package firstgame;

import javax.swing.JOptionPane;
public class FirstGame {
public static void main(String args[]) {
// Variable declaration
int yourChoice, computerChoice; // comment please!
String yourInput; // comment please!
// Welcome screen and show the basic rule to the user
JOptionPane.showMessageDialog(null,
\"Welcome to Paper, Scissor and Rock\");
JOptionPane
.showMessageDialog(
null,
\"Let me remind you the rule first:\ Scissor cuts paper, paper covers rock, and rock breaks scissors.\");
JOptionPane.showMessageDialog(null, \"0: Rock\ 1: Paper\ 2: Scissor\");
// Get your choice
yourInput = JOptionPane.showInputDialog(\"Now tell me your choice!\");
yourChoice = Integer.parseInt(yourInput);

//ERROR CHECKING
while(yourChoice !=0 && yourChoice !=1 && yourChoice !=2)
{
JOptionPane.showMessageDialog(null, \"You should select 0, 1 or 2 \");
yourInput = JOptionPane.showInputDialog(\"Now tell me your choice!\");
yourChoice = Integer.parseInt(yourInput);
}

// Get computer choice
computerChoice = (int) (Math.random() * 10); // generate a random number
computerChoice %= 3; // Why we need to modulus 3 here? Think about it.
// Compare your Choice with computer’s choice and output the result
// Case I: Both you and computer pick the same choice, then it’s a tie!
if (yourChoice == computerChoice) {
JOptionPane.showMessageDialog(null, \"It’s a tie!\");
}
// Case II: You WIN :)
// if (yourChoice > computerChoice){
// JOptionPane.showMessageDialog(null,\"You Win!\");
else if (yourChoice == 0 && computerChoice == 1) {
JOptionPane.showMessageDialog(null, \"You chose 2 \"
+ \"\ Computer generated 1 \" + computerChoice
+ \"/n so you win!\");
}
else if (yourChoice == 0 && computerChoice == 2) {
JOptionPane.showMessageDialog(null, \"You chose 0 \"
+ \"\ Computer generated 2 \" + computerChoice
+ \"/n so you win!\");
} else if (yourChoice == 1 && computerChoice == 0) {
JOptionPane.showMessageDialog(null, \"You chose 1 \"
+ \"\ Computer generated 0\" + computerChoice
+ \"/n so you win!\");
}
// Case III: You lose :(
// if (yourChoice < computerChoice){
// JOptionPane.showMessageDialog(null,\"You lose\");
else if (yourChoice == 2 && computerChoice == 0) {
JOptionPane.showMessageDialog(null, \"You chose 2 \"
+ \"\ Computer generated \" + computerChoice
+ \" so you lose!\");
} else if (yourChoice == 0 && computerChoice == 1) {
JOptionPane.showMessageDialog(null, \"You chose 0 \"
+ \"\ Computer generated \" + computerChoice
+ \" so you lose!\");
} else if (yourChoice == 1 && computerChoice == 2) {
JOptionPane.showMessageDialog(null, \"You chose 1 \"
+ \"\ Computer generated \" +computerChoice
+ \" so you lose!\");
}
}
}

Now we have an improved version of the game “Rock, Paper, and Scissor”, now make it more ROBUST by doing Error Checking for user input. IMPROVED VERSION OF THE
Now we have an improved version of the game “Rock, Paper, and Scissor”, now make it more ROBUST by doing Error Checking for user input. IMPROVED VERSION OF THE
Now we have an improved version of the game “Rock, Paper, and Scissor”, now make it more ROBUST by doing Error Checking for user input. IMPROVED VERSION OF THE

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site