//zisti cinnost mravca, ktora vypliva z policok pred mravcom a na ktorom stoji private static CinnostiMravcov ZistenieCinnostiMravca(TypyPolicok typyPolicokSucasne, TypyPolicok typyPolicokPred, TypyMravcov typyMravcov) { int polickoSucasne; int polickoPred; polickoPred = (int)typyPolicokPred; polickoSucasne = (int)typyPolicokSucasne; if (polickoSucasne > 0) { polickoSucasne--; } CinnostiMravcov cinnostMravca; switch (typyMravcov) { case TypyMravcov.MravecTypu1: { cinnostMravca = Konstanty.strategiaMravcaTypu1.ZistiStrategiaPodlaSuradnice(polickoSucasne, polickoPred); break; } case TypyMravcov.MravecTypu2: { cinnostMravca = Konstanty.strategiaMravcaTypu2.ZistiStrategiaPodlaSuradnice(polickoSucasne, polickoPred); break; } case TypyMravcov.MravecTypu3: { cinnostMravca = Konstanty.strategiaMravcaTypu3.ZistiStrategiaPodlaSuradnice(polickoSucasne, polickoPred); break; } case TypyMravcov.MravecTypu4: { cinnostMravca = Konstanty.strategiaMravcaTypu4.ZistiStrategiaPodlaSuradnice(polickoSucasne, polickoPred); break; } default: cinnostMravca = default(CinnostiMravcov); break; } return(cinnostMravca); }
//zisti typ policka vpredu, dostane suradnice policka, ktore je vpredu private static TypyPolicok ZistiTypPolickaVpredu(Mravenisko mravenisko, TypyMravcov typyMravcov, Suradnice suradnice) { TypyPolicok typyPolicok = default(TypyPolicok); switch (mravenisko.VratObjektNepohybujuceSaNaDanychSuradniciach(suradnice).ZistiTypObjektu()) { case TypyObjektov.skala: typyPolicok = TypyPolicok.skala; break; case TypyObjektov.prazdnaZem: { List <PohybujuceSaObjekty> mravce = mravenisko.VratObjektPohybujuceSaNaDanychSuradniciach(suradnice); if (mravce.Count == 0) { typyPolicok = TypyPolicok.prazdnaZem; } else if ((mravce[0] as Mravec).ZistiTypyMravcov() == typyMravcov) { typyPolicok = TypyPolicok.priatelPrazdnaZem; } else { typyPolicok = TypyPolicok.nepriatelPrazdnaZem; } } break; case TypyObjektov.potrava: { List <PohybujuceSaObjekty> mravce = mravenisko.VratObjektPohybujuceSaNaDanychSuradniciach(suradnice); if (mravce.Count == 0) { typyPolicok = TypyPolicok.potrava; } else if ((mravce[0] as Mravec).ZistiTypyMravcov() == typyMravcov) { typyPolicok = TypyPolicok.priatelPotrava; } else { typyPolicok = TypyPolicok.nepriatelPotrava; } } break; } return(typyPolicok); }
//zisti typ policka, na ktorom mravec stoji private static TypyPolicok ZistiTypPolickaSucasne(Mravenisko mravenisko, TypyMravcov typyMravcov, Suradnice suradnice) { TypyPolicok typyPolicok = default(TypyPolicok); switch (mravenisko.VratObjektNepohybujuceSaNaDanychSuradniciach(suradnice).ZistiTypObjektu()) { case TypyObjektov.prazdnaZem: { List <PohybujuceSaObjekty> mravce = mravenisko.VratObjektPohybujuceSaNaDanychSuradniciach(suradnice); if (mravce.Count > 1) { typyPolicok = TypyPolicok.priatelPrazdnaZem; } else { typyPolicok = TypyPolicok.prazdnaZem; } } break; case TypyObjektov.potrava: { List <PohybujuceSaObjekty> mravce = mravenisko.VratObjektPohybujuceSaNaDanychSuradniciach(suradnice); if (mravce.Count > 1) { typyPolicok = TypyPolicok.priatelPotrava; } else { typyPolicok = TypyPolicok.potrava; } } break; } return(typyPolicok); }