Roller.java
package chanceapps;

import chance.Die;

public class Roller {

    public static void main(String[] args){
        //create and roll a standard die five times
        createAndRollStandardDieFiveTimes();
        //create a twenty sided die and roll it 5 times
        createAndRollTwentySidedDieFiveTimes();
        //create a standard die and roll it 20 times
        System.out.println("Roll a standard die 20 times ...");
        createAndRollStandardDie(20);
        //create a standard die and roll it 30 times
        System.out.println("Roll a standard die 30 times ...");
        createAndRollStandardDie(30);
        //create a nine sided die and roll it 20 times
        System.out.println("Roll a nine sided die 20 times ...");
        createAndRollNineSidedDie(20);
        //create a nine sided die and roll it 30 times
        System.out.println("Roll a nine sided die 30 times ...");
        createAndRollNineSidedDie(30);
        //Ten times, create a standard die and roll it until you get a one
        System.out.println("Ten times, roll a standard die for a 1.");
        for (int i = 1; i <= 10; i++){
            createAndRollStandardDieFor1();
        }
        //ten times, create a twelve sided die and roll it until you ge ta 1
        System.out.println("Ten times, roll a twelve sided die for a 1.");
        for (int i = 1; i <= 10; i++){
            createAndRollTwelveSidedDieFor1();
        }
    }

    private static void createAndRollTwelveSidedDieFor1() {
        Die die = new Die(12);
        die.roll();
        System.out.print(die.top() + " ");
        while (die.top() != 1){
            die.roll();
            System.out.print(die.top() + " ");
        }
        System.out.println();
    }

    private static void createAndRollStandardDieFor1() {
        Die die = new Die();
        die.roll();
        System.out.print(die.top() + " ");
        while (die.top() != 1){
            die.roll();
            System.out.print(die.top() + " ");
        }
        System.out.println();
    }

    private static void createAndRollNineSidedDie(int nrOfTimes) {
        Die die = new Die(9);
        for (int i = 0; i < nrOfTimes; i++){
            die.roll(); System.out.print(die.top() + " ");
        }
        System.out.println();
    }

    private static void createAndRollStandardDie(int nrOfTimes) {
        Die die = new Die();
        for (int i = 0; i < nrOfTimes; i++){
            die.roll(); System.out.print(die.top() + " ");
        }
        System.out.println();
    }

    private static void createAndRollTwentySidedDieFiveTimes() {
        System.out.println("Roll a 20 sided die 5 times ...");
        Die die = new Die(20);
        die.roll(); System.out.print(die.top() + " ");
        die.roll(); System.out.print(die.top() + " ");
        die.roll(); System.out.print(die.top() + " ");
        die.roll(); System.out.print(die.top() + " ");
        die.roll(); System.out.print(die.top() + " ");
        System.out.println();
    }

    private static void createAndRollStandardDieFiveTimes() {
        System.out.println("Roll a standard die 5 times ...");
        Die die = new Die();
        die.roll(); System.out.print(die.top() + " ");
        die.roll(); System.out.print(die.top() + " ");
        die.roll(); System.out.print(die.top() + " ");
        die.roll(); System.out.print(die.top() + " ");
        die.roll(); System.out.print(die.top() + " ");
        System.out.println();
    }
}