画像ボックスを使用して画像を表示しており、1 秒間隔でタイミングを合わせています。同じ画像を2回続けて表示することを避けようとしています.arraylistを使用してこれを行い、同じランダムな画像が他の画像に続くのを回避しています。
これが私がやったことです。期待どおりに機能せず、最終的に例外が発生します。これを改善して、同じ画像を 2 回連続して表示しないようにするにはどうすればよいですか?
Random random = new Random();
ArrayList imagesList = new ArrayList();
Image[] images = { imageOne, imageTwo, imageThree, imageFour, imageFive, imageSix, imageSeven };
do
{
try
{
for (int i = 0; i < images.Length; i++)
{
imagesList.Add(images[random.Next(0, 7)]);
while (imagesList.Contains(images[i]))
{
imagesList.Clear();
imagesList.Add(images[random.Next(0, 7)]);
}
picImage.Image = (Image)imagesList[0];
}
Thread.Sleep(1000);
}
catch (IndexOutOfRangeException ind)
{
MessageBox.Show(ind.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (Exception exe)
{
MessageBox.Show(exe.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
} while (true);
}