I am currently coding a project in Java that simulates the dice game of Pig. I a
ID: 3667416 • Letter: I
Question
I am currently coding a project in Java that simulates the dice game of Pig. I am supposed to simulate a computer user and count how many turns it takes to get to 20, then I need to calculate the average amount of turns the computer takes to get to 20 over 10 different simulations. When I run the program it won't stop, it just keeps rolling and the score just continues to rise. Not sure what I'm missing, would love some possible solutions.
Here is the pseudocode for the project:
Repeat 10 times (run 10 simulations)
While the computer hasn’t reached 20 points
Let the computer take a “turn” according to the rules you made in Part 2 Display the rolls as you go, as in Part 2. If the computer rolls a 1, the computer loses his turn total and starts his next turn
Display how many turns the computer needed to reach 20 points
Display the average of how many turns the computer needed to reach 20 points
(averaged over the 10 simulations).
Here is my actual JAVA code:
import java.util.*;
import java.util.Random;
import java.text.DecimalFormat;
public class Porj3Part3 {
public static void main(String[]args){
Scanner s = new Scanner(System.in);
Random rand = new Random();
DecimalFormat df = new DecimalFormat ("$#,###,###.00");
int computerTotal = 0;
int computerTurnScore = 0;
int dice;
int turns=0;
for (int simulation=1; simulation<=10; simulation++){
while (computerTotal<20){
do{
System.out.print(" Computer turn total is " + computerTurnScore+".");
dice = rand.nextInt(6) + 1;
System.out.println(" Computer rolled: " + dice);
if (dice==1){
computerTurnScore = 0;
System.out.println("Turn over.");
break;
} // end if
else{
computerTurnScore += dice;
if(computerTurnScore >= 5 || (computerTotal + computerTurnScore) >= 20)
{
System.out.println("The computer stops.");
break;
}
}
}while (computerTurnScore<5 || dice!=1); // end do-while loop2
turns++;
} // end while loop2
computerTotal+=computerTurnScore;
System.out.print("Current Score: Computer has "+computerTotal+". ");
computerTurnScore=0;
if(computerTotal>=20){
System.out.println(" Game over. It took the computer "+turns+" turns to reach 20 points.");
System.exit(1);
} // end if
}// end for loop
} // end main
} // end class
Explanation / Answer
package com.chegg.test;
import java.text.DecimalFormat;
import java.util.Random;
import java.util.Scanner;
public class Porj3Part3 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
Random rand = new Random();
DecimalFormat df = new DecimalFormat("$#,###,###.00");
int computerTotal = 0;
int computerTurnScore = 0;
int dice;
int turns = 0;
for (int simulation = 1; simulation <= 10; simulation++) {
computerTotal = 0;
while (computerTurnScore < 20) {
do {
System.out.print(" Computer turn total is "
+ computerTurnScore + ".");
dice = rand.nextInt(6) + 1;
System.out.println(" Computer rolled: " + dice);
if (dice == 1) {
computerTurnScore = 0;
System.out.println("Turn over.");
break;
} // end if
else {
computerTurnScore += dice;
if (computerTurnScore >= 5
|| (computerTotal + computerTurnScore) >= 20) {
System.out.println("The computer stops.");
break;
}
}
} while (computerTurnScore < 5 || dice != 1); // end do-while
// loop2
turns++;
} // end while loop2
computerTotal += computerTurnScore;
System.out.print("Current Score: Computer has " + computerTotal
+ ". ");
computerTurnScore = 0;
if (computerTotal >= 20) {
System.out.println(" Game over. It took the computer " + turns
+ " turns to reach 20 points.");
} // end if
}// end for loop
double aveg = turns / 10;
System.out
.println("The average amount of turns the computer takes to get to 20 over 10 different simulations:"
+ aveg);
} // end main
} // end class
Output:
Computer turn total is 0.
Computer rolled: 6
The computer stops.
Computer turn total is 6.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 6
The computer stops.
Computer turn total is 8.
Computer rolled: 2
The computer stops.
Computer turn total is 10.
Computer rolled: 2
The computer stops.
Computer turn total is 12.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 6
The computer stops.
Computer turn total is 6.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 3
Computer turn total is 3.
Computer rolled: 3
The computer stops.
Computer turn total is 6.
Computer rolled: 6
The computer stops.
Computer turn total is 12.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 5
The computer stops.
Computer turn total is 5.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 4
Computer turn total is 4.
Computer rolled: 4
The computer stops.
Computer turn total is 8.
Computer rolled: 3
The computer stops.
Computer turn total is 11.
Computer rolled: 3
The computer stops.
Computer turn total is 14.
Computer rolled: 2
The computer stops.
Computer turn total is 16.
Computer rolled: 4
The computer stops.
Current Score: Computer has 20.
Game over. It took the computer 20 turns to reach 20 points.
Computer turn total is 0.
Computer rolled: 6
The computer stops.
Computer turn total is 6.
Computer rolled: 2
The computer stops.
Computer turn total is 8.
Computer rolled: 5
The computer stops.
Computer turn total is 13.
Computer rolled: 5
The computer stops.
Computer turn total is 18.
Computer rolled: 5
The computer stops.
Current Score: Computer has 23.
Game over. It took the computer 25 turns to reach 20 points.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 2
Computer turn total is 4.
Computer rolled: 5
The computer stops.
Computer turn total is 9.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 3
The computer stops.
Computer turn total is 5.
Computer rolled: 4
The computer stops.
Computer turn total is 9.
Computer rolled: 5
The computer stops.
Computer turn total is 14.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 3
The computer stops.
Computer turn total is 5.
Computer rolled: 2
The computer stops.
Computer turn total is 7.
Computer rolled: 2
The computer stops.
Computer turn total is 9.
Computer rolled: 3
The computer stops.
Computer turn total is 12.
Computer rolled: 2
The computer stops.
Computer turn total is 14.
Computer rolled: 5
The computer stops.
Computer turn total is 19.
Computer rolled: 5
The computer stops.
Current Score: Computer has 24.
Game over. It took the computer 40 turns to reach 20 points.
Computer turn total is 0.
Computer rolled: 4
Computer turn total is 4.
Computer rolled: 5
The computer stops.
Computer turn total is 9.
Computer rolled: 6
The computer stops.
Computer turn total is 15.
Computer rolled: 3
The computer stops.
Computer turn total is 18.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 5
The computer stops.
Computer turn total is 5.
Computer rolled: 6
The computer stops.
Computer turn total is 11.
Computer rolled: 6
The computer stops.
Computer turn total is 17.
Computer rolled: 3
The computer stops.
Current Score: Computer has 20.
Game over. It took the computer 48 turns to reach 20 points.
Computer turn total is 0.
Computer rolled: 4
Computer turn total is 4.
Computer rolled: 6
The computer stops.
Computer turn total is 10.
Computer rolled: 5
The computer stops.
Computer turn total is 15.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 5
The computer stops.
Computer turn total is 7.
Computer rolled: 5
The computer stops.
Computer turn total is 12.
Computer rolled: 2
The computer stops.
Computer turn total is 14.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 4
Computer turn total is 4.
Computer rolled: 6
The computer stops.
Computer turn total is 10.
Computer rolled: 3
The computer stops.
Computer turn total is 13.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 4
Computer turn total is 4.
Computer rolled: 2
The computer stops.
Computer turn total is 6.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 3
Computer turn total is 3.
Computer rolled: 3
The computer stops.
Computer turn total is 6.
Computer rolled: 3
The computer stops.
Computer turn total is 9.
Computer rolled: 4
The computer stops.
Computer turn total is 13.
Computer rolled: 2
The computer stops.
Computer turn total is 15.
Computer rolled: 5
The computer stops.
Current Score: Computer has 20.
Game over. It took the computer 65 turns to reach 20 points.
Computer turn total is 0.
Computer rolled: 6
The computer stops.
Computer turn total is 6.
Computer rolled: 5
The computer stops.
Computer turn total is 11.
Computer rolled: 4
The computer stops.
Computer turn total is 15.
Computer rolled: 3
The computer stops.
Computer turn total is 18.
Computer rolled: 6
The computer stops.
Current Score: Computer has 24.
Game over. It took the computer 70 turns to reach 20 points.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 5
The computer stops.
Computer turn total is 7.
Computer rolled: 4
The computer stops.
Computer turn total is 11.
Computer rolled: 5
The computer stops.
Computer turn total is 16.
Computer rolled: 3
The computer stops.
Computer turn total is 19.
Computer rolled: 6
The computer stops.
Current Score: Computer has 25.
Game over. It took the computer 75 turns to reach 20 points.
Computer turn total is 0.
Computer rolled: 4
Computer turn total is 4.
Computer rolled: 2
The computer stops.
Computer turn total is 6.
Computer rolled: 2
The computer stops.
Computer turn total is 8.
Computer rolled: 5
The computer stops.
Computer turn total is 13.
Computer rolled: 3
The computer stops.
Computer turn total is 16.
Computer rolled: 2
The computer stops.
Computer turn total is 18.
Computer rolled: 4
The computer stops.
Current Score: Computer has 22.
Game over. It took the computer 81 turns to reach 20 points.
Computer turn total is 0.
Computer rolled: 6
The computer stops.
Computer turn total is 6.
Computer rolled: 5
The computer stops.
Computer turn total is 11.
Computer rolled: 4
The computer stops.
Computer turn total is 15.
Computer rolled: 2
The computer stops.
Computer turn total is 17.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 6
The computer stops.
Computer turn total is 6.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 5
The computer stops.
Computer turn total is 5.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 3
Computer turn total is 3.
Computer rolled: 2
The computer stops.
Computer turn total is 5.
Computer rolled: 6
The computer stops.
Computer turn total is 11.
Computer rolled: 2
The computer stops.
Computer turn total is 13.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 4
Computer turn total is 4.
Computer rolled: 5
The computer stops.
Computer turn total is 9.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 6
The computer stops.
Computer turn total is 6.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 3
Computer turn total is 3.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 5
The computer stops.
Computer turn total is 5.
Computer rolled: 5
The computer stops.
Computer turn total is 10.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 2
Computer turn total is 4.
Computer rolled: 3
The computer stops.
Computer turn total is 7.
Computer rolled: 5
The computer stops.
Computer turn total is 12.
Computer rolled: 6
The computer stops.
Computer turn total is 18.
Computer rolled: 3
The computer stops.
Current Score: Computer has 21.
Game over. It took the computer 109 turns to reach 20 points.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 1
Turn over.
Computer turn total is 0.
Computer rolled: 2
Computer turn total is 2.
Computer rolled: 2
Computer turn total is 4.
Computer rolled: 5
The computer stops.
Computer turn total is 9.
Computer rolled: 2
The computer stops.
Computer turn total is 11.
Computer rolled: 5
The computer stops.
Computer turn total is 16.
Computer rolled: 4
The computer stops.
Current Score: Computer has 20.
Game over. It took the computer 114 turns to reach 20 points.
The average amount of turns the computer takes to get to 20 over 10 different simulations:11.0
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.