/// <summary> /// funkcja przeprowadzająca działania związane z tyknięciem zegara /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timerCounter_Tick(object sender, EventArgs e) { // warunek kończący rozgrywkę if (empire1.IsConquered() == true && empire2.IsConquered() == true && empire3.IsConquered() == true) { // zatrzymanie zegara timerCounter.Stop(); // wyświetlenie gratulacji na ekranie MessageBox.Show("Congratulations you won ! World belongs to you !"); // zamknięcie aplikacji Close(); } // zwiększenie godziny o 1 hour++; // aktualizacja godziny wyświetlanej na ekranie labelHour.Text = hour.ToString(); // aktualizacja zasobów wiosek w czasie myEmpire.UpdateResources(); empire1.UpdateResources(); empire2.UpdateResources(); empire3.UpdateResources(); // aktualizacja zasobów wiosek na ekranie LabelResourcesUpdate(); // aktualizacja stanu wojsk przeciwników co 24h: if (hour == 1) { if (empire1.IsConquered() == false) { empire1.RecruitAll(1, 1, 0); } if (empire2.IsConquered() == false) { empire2.RecruitAll(3, 0, 1); } if (empire3.IsConquered() == false) { empire3.RecruitAll(5, 10, 5); } // wyświetlenie na ekranie LabelsEmpiresUpdate(); } // aktualizacja liczby dni gdy miną 24 godziny if (hour == 24) { // wyzerowanie liczby godzin hour = 0; // zwiększenie dni o 1 day++; // aktualizacja wyświetlanych na ekranie danych dotyczących czasu labelHour.Text = hour.ToString(); labelDay.Text = day.ToString(); // Wydarzenia w trakcie rozgrywki // ataki : // ostrzeżenie przed atakiem if (day == 4 && empire1.IsConquered() == false) { labelHint.Text = empire1.GetName() + " is going to attack your village tomorrow !"; } // atak empire1 na gracza jeśli prędzej nie zostało podbite if (day == 5 && empire1.IsConquered() == false) { // walka if (Empire.FIGHT(empire1, myEmpire)) { // informacja o rezultacie walki MessageBox.Show(empire1.GetName() + " attacked your village, killed your warriors and stole your resources"); } else { // informacja o rezultacie walki MessageBox.Show(empire1.GetName() + " attacked your village but your warriors repulsed their attack"); } // aktualizacja stanu wojsk i zasobów LabelResourcesUpdate(); SetLabelsWarriorsStatus(); LabelArmyPowerUpdate(); LabelsEmpiresUpdate(); labelHint.Text = "Develop your empire to conquer other settlements and protect your own"; } // ostrzeżenie przed atakiem if (day == 9 && empire2.IsConquered() == false) { labelHint.Text = empire2.GetName() + " is going to attack your village tomorrow!"; } // atak empire2 na gracza jeśli prędzej nie zostało podbite if (day == 10 && empire2.IsConquered() == false) { // walka if (Empire.FIGHT(empire2, myEmpire)) { // informacja o rezultacie walki MessageBox.Show(empire2.GetName() + " attacked your village, killed your warriors and stole your resources"); } else { // informacja o rezultacie walki MessageBox.Show(empire2.GetName() + " attacked your village but your warriors repulsed their attack"); } // aktualizacja stanu wojsk i zasobów LabelResourcesUpdate(); SetLabelsWarriorsStatus(); LabelArmyPowerUpdate(); LabelsEmpiresUpdate(); labelHint.Text = "Develop your empire to conquer other settlements and protect your own"; } // ostrzeżenie przed atakiem if (day == 13 && empire3.IsConquered() == false) { labelHint.Text = empire3.GetName() + " is going to attack your village at day 15 !"; } // atak empire3 na gracza jeśli prędzej nie zostało podbite if (day == 15 && empire3.IsConquered() == false) { // walka if (Empire.FIGHT(empire3, myEmpire)) { // informacja o rezultacie walki MessageBox.Show(empire3.GetName() + " attacked your village, killed your warriors and stole your resources"); } else { // informacja o rezultacie walki MessageBox.Show(empire3.GetName() + " attacked your village but your warriors repulsed their attack"); } // aktualizacja stanu wojsk i zasobów LabelResourcesUpdate(); SetLabelsWarriorsStatus(); LabelArmyPowerUpdate(); LabelsEmpiresUpdate(); labelHint.Text = "Develop your empire to conquer other settlements and protect your own"; } // ostrzeżenie przed atakiem if (day == 18 && empire3.IsConquered() == false) { labelHint.Text = empire3.GetName() + " is going to attack your village at day 20 !"; } // informacja o zmianie zamiarów if (day == 19 && empire3.IsConquered() == true) { labelHint.Text = empire3.GetName() + " abandoned an idea to attack your village"; } // ponowny atak empire3 na gracza jeśli prędzej nie zostało podbite if (day == 20 && empire3.IsConquered() == false) { // walka if (Empire.FIGHT(empire3, myEmpire)) { // informacja o rezultacie walki MessageBox.Show(empire3.GetName() + " attacked your village, killed your warriors and stole your resources"); } else { // informacja o rezultacie walki MessageBox.Show(empire3.GetName() + " attacked your village but your warriors repulsed their attack"); } // aktualizacja stanu wojsk i zasobów LabelResourcesUpdate(); SetLabelsWarriorsStatus(); LabelArmyPowerUpdate(); LabelsEmpiresUpdate(); labelHint.Text = "Develop your empire to conquer other settlements and protect your own"; } } if (day == 20) { labelHint.Text = "Develop your empire to conquer other settlements and protect your own"; } myEmpire.UpdateResources(); // aktualizacja progressBar na ekranie ProgressBarsUpdate(); }