Здравствуйте. В настоящее время я работаю над приложением формы VS с графическими блоками, генерирующими случайные изображения. Ниже я опубликовал упрощенную версию моей программы, в которой возникает ошибка.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
BackgroundImageLayout = ImageLayout.Stretch;
}
int[] random = new int[16];
public void LoadImages()
{
List<Image> images = new List<Image>();
Random rand = new Random();
images.Add(Properties.strings.firsthero);
images.Add(Properties.strings.secondhero);
images.Add(Properties.strings.thirdhero);
images.Add(Properties.strings.fourthhero);
images.Add(Properties.strings.fifthhero);
images.Add(Properties.strings.sixthhero);
images.Add(Properties.strings.seventhhero);
images.Add(Properties.strings.eighthero);
images.Add(Properties.strings.ninethhero);
images.Add(Properties.strings.tenthhero);
images.Add(Properties.strings.eleventhhero);
images.Add(Properties.strings.twelevethhero);
images.Add(Properties.strings.thirteenthhero);
images.Add(Properties.strings.fourteenthhero);
images.Add(Properties.strings.fifteenthhero);
random[0] = rand.Next(images.Count);
pictureBox1.Image = images[random[0]];
random[1] = rand.Next(images.Count);
pictureBox2.Image = images[random[1]];
random[2] = rand.Next(images.Count);
pictureBox3.Image = images[random[2]];
random[3] = rand.Next(images.Count);
pictureBox4.Image = images[random[3]];
random[4] = rand.Next(images.Count);
pictureBox5.Image = images[random[4]];
random[5] = rand.Next(images.Count);
pictureBox6.Image = images[random[5]];
random[6] = rand.Next(images.Count);
pictureBox7.Image = images[random[6]];
random[7] = rand.Next(images.Count);
pictureBox8.Image = images[random[7]];
random[8] = rand.Next(images.Count);
pictureBox9.Image = images[random[8]];
random[9] = rand.Next(images.Count);
pictureBox10.Image = images[random[9]];
random[10] = rand.Next(images.Count);
pictureBox11.Image = images[random[10]];
random[11] = rand.Next(images.Count);
pictureBox12.Image = images[random[11]];
random[12] = rand.Next(images.Count);
pictureBox13.Image = images[random[12]];
random[13] = rand.Next(images.Count);
pictureBox14.Image = images[random[13]];
random[14] = rand.Next(images.Count);
pictureBox15.Image = images[random[14]];
random[15] = rand.Next(images.Count);
pictureBox16.Image = images[random[15]];
}
private void btnStart_Click(object sender, EventArgs e)
{
LoadImages();
}
private void button2_Click(object sender, EventArgs e)
{
button2.Visible = false;
button2WasClicked = true;
button1Match();
//the same for other buttons
}
public void button1Match()
{
if(button1WasClicked == true)
{
if(button2WasClicked == true)
{
if (random[0] == random[1])
{
winsNumber++;
}
}
else if(button3WasClicked == true)
{
if (random[0] == random[2])
{
winsNumber++;
}
}
else if(button4WasClicked == true)
{
if (random[0] == random[3])
{
winsNumber++;
}
}
else if(button5WasClicked == true)
{
if (random[0] == random[4])
{
winsNumber++;
}
}
else if(button6WasClicked == true)
{
if (random[0] == random[5])
{
winsNumber++;
}
}
else if(button7WasClicked == true)
{
if (random[0] == random[6])
{
winsNumber++;
}
}
else if(button8WasClicked == true)
{
if (random[0] == random[7])
{
winsNumber++;
}
}
else if(button9WasClicked == true)
{
if (random[0] == random[8])
{
winsNumber++;
}
}
else if(button10WasClicked == true)
{
if(random[0] == random[9])
{
winsNumber++;
}
}
else if(button11WasClicked == true)
{
if (random[0] == random[10])
{
winsNumber++;
}
}
else if(button12WasClicked == true)
{
if (random[0] == random[11])
{
winsNumber++;
}
}
else if(button13WasClicked == true)
{
if (random[0] == random[12])
{
winsNumber++;
}
}
else if(button14WasClicked == true)
{
if (random[0] == random[13])
{
winsNumber++;
}
}
else if(button15WasClicked == true)
{
if (random[0] == random[14])
{
winsNumber++;
}
}
else if(button16WasClicked == true)
{
if (random[0] == random[15])
{
winsNumber++;
}
}
}
wins.Text = winsNumber.ToString();
}
Так что в основном я генерирую случайные индексы из списка изображений и через них показываю случайные изображения в графических блоках. Чтобы узнать, происходит ли совпадение между двумя изображениями, я проверяю индексы изображений в кнопках. Однако проблема в том, что random [0] = rand.Next (images.Count); только генерирует число в пустоте и не присваивает случайное значение [0] глобальному массиву. Возможные солютины?