/*
 * @topic T01055 Array of ordered Die objects
 * @brief Main driver
*/

package demoa7v2;

import java.util.Arrays;

public class MainApp {

    public static void main(String[] args) {
        final int DICE_COUNT = 10;

        // create array of objects (unpopulated)
        Die[] dice = new Die[DICE_COUNT];

        // populate array with references to Die objects
        int idx = 0;
        for (; idx < DICE_COUNT; ++idx) {
            dice[ idx] = new Die();
        }

        // now the array is fully populated
        Arrays.sort(dice);
        displayResults(dice);
        
        // update array to sort by strings
        idx = 0;
        for ( ; idx < DICE_COUNT; ++idx ) {
            dice[ idx ].setOrderByNumber( false );
        }

        // sort again
        Arrays.sort( dice );
        displayResults( dice );
        
    }

    public static void displayResults( Die[] dice ) {
        for ( Die oneDie : dice ) {
            System.out.print(
                oneDie.getFaceValue()
                +
                ":"
                +
                oneDie.toString()
                +
                " "
                );
        }
        System.out.println();
    }
}//class MainApp