Итак, мой профессор дал задание, в котором мы должны создать рабочую программу игрового автомата. Машина имеет 3 барабана, которые сами состоят из 6 шести символов, хранящихся в перечислении:
public enum Symbol
{
SEVEN(12,"images/seven.jpg"),
WATERMELON(10,"images/watermelon.jpg"),
ORANGE(8,"images/orange.jpg"),
PLUM(6,"images/plum.jpg"),
LEMON(4,"images/lemon.jpg"),
CHERRY(2,"images/cherry.jpg");
}
Мы должны использовать эти символы для создания "катушечного" объекта. Моя проблема заключается в заполнении этого барабана (который на самом деле представляет собой массив Symbol []) символами в порядке, запрошенном профессором.
Он попросил нас использовать класс Random для заполнения барабана, используя 10 в качестве начального числа. Вот что у меня есть:
//Creating an unrandomized reel array, which contains the symbols in the exact order as they appear in the enum
private Symbol[] unrandomizedReel = new Symbol[]{Symbol.SEVEN, Symbol.WATERMELON, Symbol.ORANGE, Symbol.PLUM, Symbol.LEMON, Symbol.CHERRY};
//Declares local Symbol array
Symbol[] randomizedReel = new Symbol[6];
//Keeps track of the position in the unradomized reel array
int unrandomizedReelIndex = 0;
//Creates a Random object which will be used to generate values based
//on the seed. **seed == 10**
Random randNum = new Random(seed);
//Loop will populate the randomized reel
while(unrandomizedReelIndex < 6)
{
//This int will hold values ranging from 0-5. Will be used as an index
//to populate randomized reel
int rangedRandomNumIndex = randNum.nextInt(6);
//if the element at the given index in the randomized reel is empty
if(randomizedReel[rangedRandomNumIndex] == null)
{
//A symbol from the unrandomized reel is added to it
randomizedReel[rangedRandomNumIndex] = unrandomizedReel[unrandomizedReelIndex];
//The index used to iterate through the unrandomized reel is incremented by 1
unrandomizedReelIndex++;
}
}
Запустив этот «тасующий» код, я получаю следующий вывод:
WATERMELON
PLUM
CHERRY
SEVEN
ORANGE
LEMON
Однако, по словам моего профессора, результат должен быть:
ORANGE
PLUM
SEVEN
LEMON
WATERMELON
CHERRY
Что я делаю не так? Почему мой результат отличается от его, хотя мы оба используем 10 в качестве начального числа? Любая помощь будет оценена. Спасибо.