我正在使用LibGDX进行游戏,游戏的概念是有四个按钮,上面有4种不同的颜色(红色,绿色,黄色和蓝色) . 然后有一个圆圈穿过屏幕的底部,这是4种颜色中的一种,你可以选择在它到达屏幕末端之前的颜色,如果你成功这样做,它会重置为不同的颜色,你重复这个直到你输了(你获得的分数越多,速度也越快) . 在我被困的地方,我想为每次获得一个点添加一个功能,它将随机化4个按钮颜色 . 这是一张图 .
我的问题是我不知道如果没有两个或更多的颜色变成相同的颜色,我会如何使用这些颜色 . 我随机化底部颜色的方式只是使用 int RandomColor = MathUtils.random(1, 4);
然后根据变成的数字是它变成什么颜色,例如,1 =红色,2 =蓝色,等等 .
2 回答
我认为改组可能会有所帮助 . http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#shuffle(java.util.List)
创建一个包含4个单元格的数组(对于每个"tile") .
有一个列表(ArrayList,LinkedList - 两者都有利弊,你绝对应该阅读它们)与所有可用的图块(引用它们作为名称,ID或对象,它并不重要) .
随机选择一个列表项,并将其插入到数组的第一个单元格中,然后从列表中删除此项 .
按照步骤3直到列表为空 .
重新初始化列表以供进一步使用 .
如你所说,你已经意识到如何选择在瓷砖下方移动的随机圆圈 .