Мое задание - сделать игру «Яхтзее» на Java-программе. Я почти закончен, кроме метода малых прямых. (Невозможно это выяснить.)«Yahtzee» игра Java-программирование
Маленький прямой, когда кости получили 4 прямых номера. (. Ex 12334, 23345, 34556, и т.д.)
Вот мой код метода isSmallStraight (Этот код не завершен!):
public static boolean isSmallStraight(List<Die> dice) {
boolean result = false;
List<Die> copy = new ArrayList<Die>(dice);
Collections.sort(copy);
List<Die> testCase1 = new ArrayList<Die>();
testCase1.add(new Die(1));
testCase1.add(new Die(2));
testCase1.add(new Die(3));
if(copy.containsAll(testCase1)) {
result = true;
System.out.println(result);
}
return result;
}
То, что я хочу сделать здесь, я прошел 5 случайных чисел кубиков из основного метода (список кубиков) и поместить их в объект «copy». Поскольку мне нужно использовать java.util.List.containsAll() метод (требование), я думаю, мне нужно сделать еще один объект «testCase1» для сравнения с «копией». (Если у вас есть другой способ решить этот вопрос, то, по крайней мере, вы используете метод java.util.containsAll().)
Однако, что я не знаю прямо сейчас, если я использую dice.add (новый Die (3)), это означает, что программа выбирает случайные числа от 1,2 и 3. (Не умирает число 3). Кроме того, это дало мне ошибку времени компиляции.
Итак, я хочу знать, как я могу хранить конкретное число костей 1,2,3 и 4 для «testCase1», 2,3,4 и 5 для «testCase2» и 3,4,5, и 6 для «testCase3» и использовать copy.containsAll (testCase1) становится true.
Пожалуйста, помогите мне как можно скорее!
PS. Мой класс уже запрограммирован моим профессором. (Таким образом, в классе Die не может быть никакого изменения).
Ввод _ASAP! _ На 'SO'-проводке, как магнит для downvotes – Reimeus