//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 nastavenie mnozstav minimalnej potravy v casti Nastavenia private void minimalneMnozstvoPotravyNastavenia_ValueChanged(object sender, EventArgs e) { NumericUpDown numericUpDownMinimalneMnozstvoPotravy = sender as NumericUpDown; NacitaneHodnoty.NastavMnozstvoMinimalnejPotravy((int)numericUpDownMinimalneMnozstvoPotravy.Value, minimalneMnozstvoPotravyNastavenia, pocetSkalNastavenia, mnozstvoZaciatocnejPotravyNastavenia); }
//inicializacia niektorych nastaveni a hodnot v casti NacitaneHodnoty, v sucasnom stave, nastavuje ako //pociatocny rozmer mraveniska na 8x8 private void InicializaciaNastaveniHodnot() { velkostMraveniskaNastavenia.SetSelected(0, true); NacitaneHodnoty.NastavRozmerMraveniska(8, pocetSkalNastavenia, mnozstvoZaciatocnejPotravyNastavenia, minimalneMnozstvoPotravyNastavenia); NacitaneHodnoty.InicializujHodnoty(pocetSkalNastavenia, mnozstvoZaciatocnejPotravyNastavenia, minimalneMnozstvoPotravyNastavenia); NacitaneHodnoty.InicializujPoctyHodnotMravcov(pocetMravcovTypu1Nastavenia, pocetMravcovTypu2Nastavenia, pocetMravcovTypu3Nastavenia, pocetMravcovTypu4Nastavenia); }
//spravuje spustenie simulacie public static void NastavBolasSpustena() { if (NacitaneHodnoty.ZistiNastaveneNastavenia()) { simulaciaBolaSpustena = true; simmulaciaBolaZastavena = false; simulaciaBolaUkoncena = false; SpravaBehuGUI.SimulaciaBolaSpustena(); } else { MessageBox.Show("Pred spustenim simulácie musíte nastaviť nastavenia."); } }
//nastavi prvotne hodnoty simulacie private static void NastavHodnotySimulacie() { ZadaneHodnoty.NastavPocetMravcovTypu1(NacitaneHodnoty.ZistiPocetMravcovTypu1()); ZadaneHodnoty.NastavPocetMravcovTypu2(NacitaneHodnoty.ZistiPocetMravcovTypu2()); ZadaneHodnoty.NastavPocetMravcovTypu3(NacitaneHodnoty.ZistiPocetMravcovTypu3()); ZadaneHodnoty.NastavPocetMravcovTypu4(NacitaneHodnoty.ZistiPocetMravcovTypu4()); ZadaneHodnoty.NastavMinimalneMnozstvoPotravy(NacitaneHodnoty.ZistiMnozstvoMinimalnejPotravy()); ZadaneHodnoty.NastavMnozstvoPotravy(NacitaneHodnoty.ZistiMnozstvoStartovnejPotavy()); ZadaneHodnoty.NastavPocetSkal(NacitaneHodnoty.ZistiPocetSkal()); ZadaneHodnoty.NastavRozmerMraveniska(NacitaneHodnoty.ZistiRozmerMraveniska()); Konstanty.NastavNasobokDobyPrestavky(HodnotyStavuSimulacie.ZistiRychlostSimulacie()); GrafickyVystup.Inicializacia(ZadaneHodnoty.ZistiRozmerMraveniska()); }
//reakcia na nastavenie velkosti mraveniska v casti Nastavenia private void velkostMraveniskaNastavenia_SelectedIndexChanged(object sender, EventArgs e) { ListBox listBoxNastavovanieRozmeruMraveniska = sender as ListBox; switch (listBoxNastavovanieRozmeruMraveniska.GetItemText(listBoxNastavovanieRozmeruMraveniska.SelectedItem)) { case "8x8": NacitaneHodnoty.NastavRozmerMraveniska(8, minimalneMnozstvoPotravyNastavenia, pocetSkalNastavenia, mnozstvoZaciatocnejPotravyNastavenia); break; case "16x16": NacitaneHodnoty.NastavRozmerMraveniska(16, minimalneMnozstvoPotravyNastavenia, pocetSkalNastavenia, mnozstvoZaciatocnejPotravyNastavenia); break; case "32x32": NacitaneHodnoty.NastavRozmerMraveniska(32, minimalneMnozstvoPotravyNastavenia, pocetSkalNastavenia, mnozstvoZaciatocnejPotravyNastavenia); break; } }
//nastavi strategiu mravca, taktisto nastavy, ze pocet mravcov typu 3 alebo 4 moze byt rozny od 0, ak sa nastavuje ich strategia private static void NastavCinnostMravca(TypyMravcov typyMravcov, CinnostiMravcov[,] cinnostiMravcov, NumericUpDown numericUpDownPocetMravcovTypu3, NumericUpDown numericUpDownPocetMravcovTypu4) { switch (typyMravcov) { case TypyMravcov.MravecTypu1: Konstanty.NastavStrategiuMravceTypu1(cinnostiMravcov); NastavNastavenyTyp1(true); break; case TypyMravcov.MravecTypu2: Konstanty.NastavStrategiuMravceTypu2(cinnostiMravcov); NastavNastavenyTyp2(true); break; case TypyMravcov.MravecTypu3: Konstanty.NastavStrategiuMravceTypu3(cinnostiMravcov); NastavNastavenyTyp3(true); NacitaneHodnoty.AktualizujPocetMravcovTypu3(numericUpDownPocetMravcovTypu3); break; case TypyMravcov.MravecTypu4: Konstanty.NastavStrategiuMravceTypu4(cinnostiMravcov); NastavNastavenyTyp4(true); NacitaneHodnoty.AktualizujPocetMravcovTypu4(numericUpDownPocetMravcovTypu4); break; } }
//pokial uzivatel nastavi nastavenia v casti "Nastavenia" //tak tato funkcia zabezpeci nastavenie hodnoty "nastavenieNastavenia" v casti NacitaneHodnoty private void nastavNastavenia_Click(object sender, EventArgs e) { NacitaneHodnoty.NastavNastavenia(true); }
//reakcia na nastavenie poctu mravcov typu 4 v casti Nastavenia private void pocetMravcovTypu4Nastavenia_ValueChanged(object sender, EventArgs e) { NumericUpDown numericUpDownPocetMravcovTypu4 = sender as NumericUpDown; NacitaneHodnoty.NastavPocetMravcovTypu4((int)numericUpDownPocetMravcovTypu4.Value); }