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();
}