/// <summary> /// Every tick a number is drawn. There is 5% chance for evil event to happen /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timerEvilEvents_Tick(object sender, EventArgs e) { timerResources.Stop(); timerEvilEvents.Stop(); // Stopping timer to avoid multiple bad events showing at once if (random.Next(1, 100) < 6) { switch (random.Next(0, numberOfEvilEvents + 1)) // Selecting what event will happen { case 0: MessageBox.Show("Twoją krainę spowiła ciemność. Przybył Dżanusz Biernut i uwalił całe Twoje królestwo." + "\r\n\r\nDeficyt królestwa zwiększa się."); ++deficiency; break; case 1: MessageBox.Show("Uczelnia nie otworzyła wystarczającej liczby miejsc na kurs." + "Pomimo wielu prób, Twoim poddanym nie udało się zapisać na zajęcia.\r\n\r\n" + "Deficyt królestwa zwiększa się."); ++deficiency; break; case 2: MessageBox.Show("Prowadzący zmienił zasady zaliczenia dzień przed egzaminem." + "Twoi poddani nie zdążyli zareagować.\r\n\r\n" + "Deficyt królestwa zwiększa się."); ++deficiency; break; case 3: if (Castle.GetLevel() < 3) { MessageBox.Show("Na pobliskiej wyspie odbyła się celebracja nazwy dnia tygodnia." + "Wydałeś pieniądze na zabawę.\r\n\r\n" + "Ilość pieniędzy królestwa zmniejsza się. (-1000)"); money -= 1000; } break; case 4: if (Castle.GetLevel() < 2 && Farm.GetFarmsCount() > 0 && Sawmill.GetSawmillsCount() > 0) { MessageBox.Show("O nie! W domu studenckim Twoich poddanych wybuchł pożar!" + "To nie jest fałszywy alarm.\r\n\r\n" + "Utracono Farmę oraz Tartak."); Farm.Destroy(); Sawmill.Destroy(); } break; } } timerEvilEvents.Start(); timerResources.Start(); UpdateBuildingsCountLabels(); UpdateResourceLabels(); }
/// <summary> /// Function that takes care of destroying propper building /// </summary> private void Destroy() { // Getting selected item from comboBox string chosedOption = comboBoxBuildings.SelectedItem.ToString(); switch (chosedOption) // Depending on selected item, propper destroying procedure will began { case "Tartak": if (Sawmill.GetSawmillsCount() > 0) { Sawmill.Destroy(); MessageBox.Show("Zburzono tartak"); } else { MessageBox.Show("Nie masz tartaków"); } break; case "Kamieniołom": if (Quarry.GetQuarriesCount() > 0) { Quarry.Destroy(); MessageBox.Show("Zburzono kamieniołom"); } else { MessageBox.Show("Nie masz kamieniołomów"); } break; case "Kopalnia": if (Mine.GetMinesCount() > 0) { Mine.Destroy(); MessageBox.Show("Zburzono kopalnię"); } else { MessageBox.Show("Nie masz kopalni"); } break; case "Farma": if (Farm.GetFarmsCount() > 0) { Farm.Destroy(); MessageBox.Show("Zburzono farmę"); } break; case "Rozbudowa zamku": if (Castle.GetLevel() > 1) { Castle.Destroy(); if (Castle.GetLevel() < 5) { Bitmap image = new Bitmap("Resources/img/castle" + Castle.GetLevel().ToString() + ".png"); // Loading new images for specific level of upgrade. There is 4 levels, but you can build more pictureBoxCastle.Image = image; // Assigning image to pictureBox } MessageBox.Show("Wyburzono część zamku"); labelCost.Text = Castle.GetCost(); //updating label } else { MessageBox.Show("Nie możesz zniszczyć zamku"); } break; } UpdateIncomes(); // After demolition, there is need to update propper labels UpdateBuildingsCountLabels(); }