Survival_on_island.Island.button2_Click C# (CSharp) Method

button2_Click() private method

private button2_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private void button2_Click(object sender, EventArgs e)
        {
            // Проверка очков действия
                if (ODhod >= 2)
                {
                    Random rand = new Random();
                    if (use == 0) // поиск воды
                    {
                        if (Bucket.value == 1) //Проверка на наличие нужного инструмента
                        {
                            ODhod -= 2;
                            EnableTimer(); // включает таймер действия для прогресс бара.
                            if (rand.Next(1, 101) < NavSob * 2) // Проверка навыка. Повезет или нет найти ягоды.
                            {
                                min = use0[2];
                                max = use0[3];

                                //тут могут быть модификаторы от инструментов. для воды нет.

                                //временная строка для выводы минимума и максимума
                                labelLog.Text = ("Шанс: " + (NavSob + NavSob) + "% Min: " + min + " Max: " + max + "\n" + labelLog.Text);
                                addRes = rand.Next(min, max + 1); // Генерирует кол-во в случае успеха.
                                labelLog.Text = ("Вы нашли " + addRes + " воды" + "\n" + labelLog.Text);
                                water += addRes;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Вам необходимо ведро!");
                        }
                    }

                    if (use == 1) // поиск ягод
                    {
                        if (SmallBasket.value == 1) //Проверка на наличие нужного инструмента
                        {
                            ODhod -= 2;
                            EnableTimer(); // включает таймер действия для прогресс бара.
                            if (rand.Next(1, 101) < NavSob * 2) // Проверка навыка. Повезет или нет найти ягоды.
                            {
                                min = use1[2];
                                max = use1[3];
                                if (Basket.value > 0) //если есть корзина, то прибавить к максимальному сбору еды +2
                                {
                                    max += 2;
                                }
                                else if (SmallBasket.value > 0) //иначе, если есть маленькия корзина, то прибавить +1
                                {
                                    max += 1;
                                }
                                //временная строка для выводы минимума и максимума
                                labelLog.Text = ("Шанс: " + (NavSob + NavSob) + "% Min: " + min + " Max: " + max + "\n" + labelLog.Text);
                                addRes = rand.Next(min, max + 1); // Генерирует кол-во в случае успеха.
                                labelLog.Text = ("Вы нашли " + addRes + " еды" + "\n" + labelLog.Text);
                                eat += addRes;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Вам необходимо лукошко!");
                        }
                    }

                    if (use == 2) // поиск древесины
                    {
                        if (WoodAxe.value == 1) //Проверка на наличие нужного инструмента
                        {
                            ODhod -= 2;
                            EnableTimer();
                            if (rand.Next(1, 101) < NavWood + NavWood) // Проверка навыка. Повезет или нет найти древисину.
                            {
                                min = use2[2];
                                max = use2[3];
                                if (RockAxe.value > 0) //если есть каменный топор, то прибавить к максимальному сбору +1-2
                                {
                                    min += 1;
                                    max += 2;
                                }
                                else if (WoodAxe.value > 0) //иначе, если есть деревянный топор, то прибавить +1
                                {
                                    max += 1;
                                }
                                //временная строка для выводы минимума и максимума
                                labelLog.Text = ("Шанс: " + (NavWood + NavWood) + "% Min: " + min + " Max: " + max + "\n" + labelLog.Text);
                                addRes = rand.Next(min, max + 1); // Генерирует кол-во в случае успеха.
                                if (addRes > 0) //проверка на кол-во добытого ресурса. показывает строку, только если ресурса больше 0.
                                {
                                    labelLog.Text = ("Вы нашли " + addRes + " древесины" + "\n" + labelLog.Text);
                                }
                                wood += addRes;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Вам необходим деревянный топор!");
                        }
                    }
                    if (use == 3) // поиск камня
                    {
                        if (WoodPick.value == 1) //Проверка на наличие нужного инструмента
                        {
                            ODhod -= 2;
                            EnableTimer();
                            if (rand.Next(1, 101) < NavMining + NavMining) // Проверка навыка. Повезет или нет найти камни.
                            {
                                min = use3[2];
                                max = use3[3];
                                if (RockPick.value > 0) //если есть каменная кирка, то прибавить к максимальному сбору +1-2
                                {
                                    min += 1;
                                    max += 2;
                                }
                                else if (WoodPick.value > 0) //иначе, если есть деревянная кирка, то прибавить +1
                                {
                                    max += 1;
                                }
                                //временная строка для выводы минимума и максимума
                                labelLog.Text = ("Шанс: " + (NavMining + NavMining) + "% Min: " + min + " Max: " + max + "\n" + labelLog.Text);
                                addRes = rand.Next(min, max + 1); // Генерирует кол-во в случае успеха.
                                if (addRes > 0) //проверка на кол-во добытого ресурса. показывает строку, только если ресурса больше 0.
                                {
                                    labelLog.Text = ("Вы нашли " + addRes + " камня" + "\n" + labelLog.Text);
                                }
                                rock += addRes;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Вам необходима деревянная кирка!");
                        }
                    }
                }
                //обновляет все показатели экрана
                Refresh();
        }