// Modified by e. adams from Fig. 6.9: Craps.java from Deitel & Deitel 6th Edition // Craps class simulates the dice game craps. import java.util.Random; public class Craps2 { private enum Status { ROLL_AGAIN, WON, LOST }; private final static int SNAKE_EYES = 2; private final static int TREY = 3; private final static int SEVEN = 7; private final static int YO_LEVEN = 11; private final static int BOX_CARS = 12; public void play() { int myPoint; Status gameStatus; int sumOfDice; myPoint = 0; sumOfDice = rollDice(); switch ( sumOfDice ) { case SEVEN: case YO_LEVEN: gameStatus = Status.WON; break; case SNAKE_EYES: case TREY: case BOX_CARS: gameStatus = Status.LOST; break; default: gameStatus = Status.ROLL_AGAIN; myPoint = sumOfDice; System.out.printf( "Point is: " + myPoint ); break; } // end switch while ( gameStatus == Status.ROLL_AGAIN ) { sumOfDice = rollDice(); if ( sumOfDice == myPoint ) gameStatus = Status.WON; else if (( sumOfDice == SEVEN ) || (sumOfDice == YO_LEVEN)) gameStatus = Status.LOST; } // end while if ( gameStatus == Status.WON ) System.out.println( "Player wins" ); else System.out.println( "Player loses" ); } // end method play public int rollDice() { Random randomNumbers; int die1, die2, sum; randomNumbers = new Random(); die1 = 1 + randomNumbers.nextInt( 6 ); die2 = 1 + randomNumbers.nextInt( 6 ); sum = die1 + die2; System.out.println(); System.out.println( "Player rolled " + die1 + " and " + die2 + " for a total of " + sum); return sum; } // end method rollDice } // end class Craps2