/** * William Smolinski * 10/22/21 * Dice Game Assignment, plays a dice game with the user against the computer */ import java.util.Random; import java.util.Scanner; //Added this for the tiebreaker and to do each roll public class WFS_DiceGame { public static void main(String[] args) { /* * Added this to determine if the user wants to do a tiebreaker if the total wins at the end * are the same for the computer and the user. Also I use it to have the user hit enter * before each roll. * Declares and initializes a Scanner to detect keyboard input */ Scanner keyboard = new Scanner(System.in); //Creates the Random object to generate random numbers Random rand = new Random(); //Declares the variables to hold the values needed int computerRoll = 0, userRoll = 0, computerWins = 0, userWins = 0, totalTies = 0; //Creates the for-loop to repeat the dice rolling 10 times for(int i = 1; i <= 10; i++) { //Creates a blank line System.out.println(); //Has the user press enter to roll System.out.println("Press enter to roll"); keyboard.nextLine(); //Rolls for the computer computerRoll = rand.nextInt(6) + 1; //Rolls for the user userRoll = rand.nextInt(6) + 1; //Tests to see who won or if it was a tie if(userRoll > computerRoll) { //The user won //Displays that the user won System.out.println("Round " + i + " won! You rolled a " + userRoll + " and the computer rolled a " + computerRoll + "."); //Adds 1 to user wins userWins++; } else if(userRoll == computerRoll) { //The user and computer tied //Displays that it was a tie System.out.println("Round " + i + " tied. You rolled a " + userRoll + " and the computer rolled a " + computerRoll + "."); //Adds 1 to total ties totalTies++; } else { //The computer won //Displays the the computer won System.out.println("Round " + i + " lost. You rolled a " + userRoll + " and the computer rolled a " + computerRoll + "."); //Adds 1 to computer wins computerWins++; } } //Adds and extra blank line System.out.println(); //Determines who the grand winner was if(userWins > computerWins) { //User is the grand winner //Displays that the user is the grand winner System.out.println("You are the grand winner! You won " + userWins + " times, " + "the computer won " + computerWins + " times " + "and you tied the computer " + totalTies + " times."); } else if(userWins == computerWins) { //The user and the computer tied //Tells the user they tied and asks for a tiebreaker System.out.print("You tied with the computer. You both had " + userWins + " wins and " + totalTies + " ties. Would you like to do a tiebreaker?" + " (y for yes, n for no) "); String tiebreaker = keyboard.nextLine(); if(tiebreaker.equalsIgnoreCase("y")) { while(userWins == computerWins) { //Creates a blank line System.out.println(); //Has the user press enter before the next roll System.out.println("Press enter to roll"); keyboard.nextLine(); //Rolls for the computer computerRoll = rand.nextInt(6) + 1; //Rolls for the user userRoll = rand.nextInt(6) + 1; //Tests to see who won or if it was a tie if(userRoll > computerRoll) { //The user won //Displays that the user won System.out.println("Round " + (userWins + computerWins + totalTies + 1) + " won! You rolled a " + userRoll + " and the computer rolled a " + computerRoll + "."); //Adds 1 to user wins userWins++; } else if(userRoll == computerRoll) { //The user and computer tied //Displays that it was a tie System.out.println("Round " + (userWins + computerWins + totalTies + 1) + " tied. You rolled a " + userRoll + " and the computer rolled a " + computerRoll + "."); //Adds 1 to total ties totalTies++; } else { //The computer won //Displays the the computer won System.out.println("Round " + (userWins + computerWins + totalTies + 1) + " lost. You rolled a " + userRoll + " and the computer rolled a " + computerRoll + "."); //Adds 1 to computer wins computerWins++; } } //Creates a blank line System.out.println(); //Tests to see who won after the tiebreaker if(userWins > computerWins) { //The user is the grand winner //Displays that the user is the grand winner System.out.println("You are the grand winner! You won in the tiebreaker with " + userWins + " wins, " + "the computer won " + computerWins + " times " + "and you tied the computer " + totalTies + " times."); } else { //The computer is the grand winner //Displays that the computer is the grand winner System.out.println("The computer is the grand winner. You lost in the tiebreaker with " + userWins + " wins, " + "the computer won " + computerWins + " times " + "and you tied the computer " + totalTies + " times."); } } } else { //The computer is the grand winner //Displays that the computer is the grand winner System.out.println("The computer is the grand winner. You won " + userWins + " times, " + "the computer won " + computerWins + " times " + "and you tied the computer " + totalTies + " times."); } } }