我正在编写一个包含6张不同图片并显示12张图片的程序,每张照片有两张。这是一款记忆游戏,我正致力于生成一个随机的磁贴放置。我需要使用RandomIntGenerator来分配整个电路板,但我想不出办法,因为RandomIntGenerator会复制数字。我不允许使用数组,这会让这更容易。你能否告诉我如何做到这一点?
非常感谢任何帮助! -Ryan
答案 0 :(得分:7)
创建一个包含12个值(1-12)的List<Integer>
List<Integer> list = new ArrayList<Integer>(12);
for(int i = 0; i < 12 ; i++){ list.add(i);}
然后将其洗牌
答案 1 :(得分:2)
Collections.shuffle()
答案 2 :(得分:0)
你可以试试这个:
int suggestedPlacement = RandomIntGenerator.next();
while (tileAlreadyTaken(suggestedPlacement)) {
suggestedPlacement = RandomIntGenerator.next();
}
答案 3 :(得分:0)
long pattern = 0b111111;
Random r = new Random();
while (pattern != 0) {
int n = r.nextInt(6);
long mask = 1 << n;
if ((pattern & mask) == 0) continue;
pattern ^= mask;
System.out.println("n = " + n);
}