//spustenie vykreslovania private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { TabPage tabPage = Simulacia.TabPages[1]; StatickeHodnoty.NastavMravenisko(StatickeHodnoty.ZistiBehSimulacieSimulacia().ZistiMravenisko()); if (HodnotyStavuZobrazovaniaSimulacie.ZistiZobrazovanieSimulacie()) { GrafickyVystup.VykresliMraveniskoUvod(StatickeHodnoty.ZistiMravenisko(), tabPage); VypisFazeMraveniska.VypisFazeMraveniskaUvod(StatickeHodnoty.ZistiMravenisko(), casLabelVystup, fazaLabelVystup); } if (StatickeHodnoty.ZistiMravenisko().ZistiPocetVsetkychMravcov() == 0 && StatickeHodnoty.ZistiMravenisko().ZistiFazaMraveniska() == FazaMraveniska.poKonciKroku) { InicializaciaNastaveniHodnot(); HodnotyStavuSimulacie.NastavBolaUkoncena(pocetMravcovTypu1Nastavenia, pocetMravcovTypu2Nastavenia, pocetMravcovTypu3Nastavenia, pocetMravcovTypu4Nastavenia, pocetSkalNastavenia, mnozstvoZaciatocnejPotravyNastavenia, minimalneMnozstvoPotravyNastavenia, casLabelVystup, fazaLabelVystup); HodnotyNaVypisovanie.VypisUdajeZakladne(dobaSimulacia, pocetMravcovTypu1TerazSimulacia, pocetMravcovTypu1CelkovoSimulacia, pocetMravcovTypu2TerazSimulacia, pocetMravcovTypu2CelkovoSimulacia, pocetMravcovTypu3TerazSimulacia, pocetMravcovTypu3CelkovoSimulacia, pocetMravcovTypu4TerazSimulacia, pocetMravcovTypu4CelkovoSimulacia, mnoztvoPotravyTerazSimulacia, mnozstvoPotravyCelkovoSimulacia); GrafickyVystup.VykresliOknoBezSimulacie(tabPage); HodnotyStavuZobrazovaniaSimulacie.NastavZobrazovanieSimulacie(true); zastavenieSpustenieZobrazovaniaButton.Text = "Zastavenie zobrazovania"; } StatickeHodnoty.ZistiAutoResetEvent().Set(); }
//spravuje ukoncenie simulacie a inicializaciu cast hodnot pre pripadne dalsie spustenie simulacie //zvysok sa inicializuje v casti InicializaciaNastaveni public static void SimulaciaBolaUkoncena(NumericUpDown pocetMravcovTypu1, NumericUpDown pocetMravcovTypu2, NumericUpDown pocetMravcovTypu3, NumericUpDown poceMravcovTypu4, NumericUpDown pocetSkal, NumericUpDown mnozstvoPotravyZaciatocnej, NumericUpDown mnozstvoPotravyMinnimalnej, Label labelCas, Label labelFaza) { StatickeHodnoty.ZistiBehSimulacieSimulacia().UkonecieSimulacie(); if (Konstanty.jeNastaveneMiestoUlozenia) { Konstanty.zapisovacUdajov.Close(); } NastaveneHodnotyPocasKrokov.NastavPokracovanie(false); NacitaneHodnoty.NastavNastavenia(false); HodnotyStavuSimulacie.ResetujMiestoUlozenia(); HodnotyStavuZobrazovaniaSimulacie.NastavZobrazovanieSimulacie(false); StatickeHodnoty.ZistiBehSimulacieSimulacia().InicializujSimulaciu(""); NacitaneHodnoty.InicializujPoctyHodnotMravcov(pocetMravcovTypu1, pocetMravcovTypu2, pocetMravcovTypu3, poceMravcovTypu4); NacitaneHodnoty.InicializujHodnoty(pocetSkal, mnozstvoPotravyZaciatocnej, mnozstvoPotravyMinnimalnej); VypisFazeMraveniska.NastavZakladneHodnoty(labelCas, labelFaza); }
//reakcia na skoncenie simulacie private void skoncenieSimulacie_Click(object sender, EventArgs e) { if (!HodnotyStavuSimulacie.ZistiBolaUkoncena()) { HodnotyStavuSimulacie.NastavBolaUkoncena(pocetMravcovTypu1Nastavenia, pocetMravcovTypu2Nastavenia, pocetMravcovTypu3Nastavenia, pocetMravcovTypu4Nastavenia, pocetSkalNastavenia, mnozstvoZaciatocnejPotravyNastavenia, minimalneMnozstvoPotravyNastavenia, casLabelVystup, fazaLabelVystup); InicializaciaNastaveniHodnot(); HodnotyNaVypisovanie.VypisUdajeZakladne(dobaSimulacia, pocetMravcovTypu1TerazSimulacia, pocetMravcovTypu1CelkovoSimulacia, pocetMravcovTypu2TerazSimulacia, pocetMravcovTypu2CelkovoSimulacia, pocetMravcovTypu3TerazSimulacia, pocetMravcovTypu3CelkovoSimulacia, pocetMravcovTypu4TerazSimulacia, pocetMravcovTypu4CelkovoSimulacia, mnoztvoPotravyTerazSimulacia, mnozstvoPotravyCelkovoSimulacia); GrafickyVystup.VykresliOknoBezSimulacie(vystup); zastaveniePokracovanieSimulacie.Text = "Zastavenie Simulácie."; HodnotyStavuZobrazovaniaSimulacie.NastavZobrazovanieSimulacie(false); zastavenieSpustenieZobrazovaniaButton.Text = "Zastavenie zobrazovania"; } else { MessageBox.Show("Nema zmysel ukoncovat simulaciu"); } }
//spravuje spustenie simulacie public static void SimulaciaBolaSpustena() { NastavHodnotySimulacie(); HodnotyStavuZobrazovaniaSimulacie.NastavZobrazovanieSimulacie(true); StatickeHodnoty.NastavBehSimulacieSimulacia(new BehSimulacie()); StatickeHodnoty.ZistiBehSimulacieSimulacia().InicializujSimulaciu(HodnotyStavuSimulacie.ZistiMiestoUlozenia()); VykreslovanieASpustenieBehuSimulacie(); }
//zastavi zobrazovanie simulacie, simulacia ale pobezi nadalej private void zastavenieSpustenieZobrazovania_Click(object sender, EventArgs e) { if (HodnotyStavuSimulacie.ZistiBolaSpustena()) { if (HodnotyStavuZobrazovaniaSimulacie.ZistiZobrazovanieSimulacie() == true) { HodnotyStavuZobrazovaniaSimulacie.NastavZobrazovanieSimulacie(false); zastavenieSpustenieZobrazovaniaButton.Text = "Spustenie zobrazovania"; } else { HodnotyStavuZobrazovaniaSimulacie.NastavZobrazovanieSimulacie(true); zastavenieSpustenieZobrazovaniaButton.Text = "Zastavenie zobrazovania"; } } else { MessageBox.Show("Nema zmysel."); } }