// contains the main method for the program import java.util.Random; public class Pig { public static int diceRoll() { Random rng = new Random(); return rng.nextInt(6) + 1; } // returns score player got for their turn public static void turn(PigPlayer player, PigPlayer opponent) { int roundScore = 0; boolean rolling = player.rollOrStay(player.getScore(), opponent.getScore(), roundScore); while (rolling) { int roll = diceRoll(); System.out.println(player.getName() + " rolled a " + roll + "."); if (roll == 1) { System.out.println(player.getName() + " busted!"); return; } else { roundScore += roll; } rolling = player.rollOrStay(player.getScore(), opponent.getScore(), roundScore); } // print out results and return System.out.println(player.getName() + " got " + roundScore + " points this round.\n"); player.addToScore(roundScore); } public static void main(String args[]) { // make two pig players PigPlayer p1 = new HumanPlayer(); PigPlayer p2 = new AiPlayer(); while (p1.getScore() < 100 && p2.getScore() < 100) { // do a turn for this player turn(p1, p2); // swap them PigPlayer temp = p1; p1 = p2; p2 = temp; } System.out.println("The game is over and the winner is " + p2.getName() + "!"); } }