没有重复的随机图像(图像猜测)

时间:2014-11-25 11:33:47

标签: android random unique

大家好,我是Android开发和java编程的新手。我希望有一个人可以帮助我。我正在开发一款应用程序,它是一款图像猜谜游戏。我有100张图片存储在我的drawable中。

我目前有这个代码会随机生成一个图像,它将显示在图像视图中:

ImageView random_image = (ImageView) findViewById (R.id.random_level);
final int[] images = { R.drawable.img1, R.drawable.img2...R.drawable.img100 };
Random generator = new Random();
random_image.setImageResource(images[generator.nextInt(images.length - 1)]);

我现在的问题是如何避免每个级别的图像重复?我的游戏由25个级别组成。

2 个答案:

答案 0 :(得分:0)

也许创建那些Image id的ArrayList,每当用户猜到一个图像时,只需从该ArrayList中删除该Image id位置

示例:

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(R.drawable.your_images);  //keep adding that, maybe using a loop would be better to add
int position = new Random().nextInt(list.size());
imageViewObject.setImageResource(Integer.intValue(list.get(position)));
//while starting next level
list.remove(position);

这就是全部!

答案 1 :(得分:0)

如果您使用Random class,则有可能重复。

因此将它们存储到ArrayList中。因此,您可以使用Collections.shuffle(list);

它将随机播放ArrayList中的项目。所以,重复没有头疼。