Как присвоить значение глобальному массиву из void? - PullRequest
0 голосов

Здравствуйте. В настоящее время я работаю над приложением формы 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] глобальному массиву. Возможные солютины?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...