-4 java
我的任务是在Java程序上制作"Yahtzee"游戏.除了Small Straight方法,我差不多完成了.(无法弄清楚.)
小直是当骰子得到4连续数.(例如,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;
}
Run Code Online (Sandbox Code Playgroud)
我想在这里做的是从主方法(List dice)传递5个随机数的骰子并将它们放入"复制"对象中.由于我需要使用java.util.List.containsAll()方法(要求),我想我需要将另一个对象"testCase1"与"copy"进行比较.(如果你有其他方法来解决这个问题,至少你使用java.util.containsAll()方法就好了.)
但是,我现在不知道的是,如果我使用dice.add(new Die(3)),它意味着程序从1,2和3中选择随机数.(不会死3) - 而且,它给了我编译时错误.
所以,我想知道如何为"testCase2"存储骰子特定数字1,2,3和4,为"testCase2"存储2,3,4和5,为" testCase3"并使用copy.containsAll(testCase1)变为true.
请尽快帮助我!
PS.模特班已经由我的教授编程.(所以,不能改变Die类中的任何一个).