//vykresli ako cervene policka, tie, medzi ktorymi sa bojovalo private static bool VykresliBojPriPrechadzaniPolicka(Mravenisko mravenisko, Graphics graphics, int i, int j, int velkostStvorceka) { if (mravenisko.ZistiPolickaBojPrechadzajuce(i, j) != default(List <PolickaPriPrechadzajucomBoji>) && mravenisko.ZistiPolickaBojPrechadzajuce(i, j).Count > 0) { VykresliObdlznik(i * velkostStvorceka, j * velkostStvorceka, velkostStvorceka, velkostStvorceka, Color.Red, graphics); return(true); } return(false); }
//vykresli 2 spojnice spajajuce policka, tieto ciary reprezentuju boj mravcov pri prechadzani medzi tymito polickami, //farby ciar reprezentuju typy mravcov, ktore bojuju takisto vykresli private static void VykresliBojPriPrechadzaniSpojnice(Mravenisko mravenisko, Graphics graphics, int i, int j, int velkostStvorceka) { if (mravenisko.ZistiPolickaBojPrechadzajuce(i, j) != default(List <PolickaPriPrechadzajucomBoji>) && mravenisko.ZistiPolickaBojPrechadzajuce(i, j).Count > 0) { foreach (PolickaPriPrechadzajucomBoji polickaPriPrechadzajucomBoji1 in mravenisko.ZistiPolickaBojPrechadzajuce(i, j)) { PolickaPriPrechadzajucomBoji polickaPriPrechadzajucomBoji2 = polickaPriPrechadzajucomBoji1.ZistiDruhePolicko(); Suradnice suradnice1 = polickaPriPrechadzajucomBoji1.ZistiSuradniceMravcov(); Suradnice suradnice2 = polickaPriPrechadzajucomBoji2.ZistiSuradniceMravcov(); Pen pen1 = new Pen(ZistiFarbuMravcov(polickaPriPrechadzajucomBoji1.ZistiTypMravcov()), 3); Pen pen2 = new Pen(ZistiFarbuMravcov(polickaPriPrechadzajucomBoji2.ZistiTypMravcov()), 3); if (NasledujucePolickoMraveniska.SmerJ(suradnice1, mravenisko.ZistiRozmerMraveniska()).ZistiXSuradnicu() == suradnice2.ZistiXSuradnicu() && NasledujucePolickoMraveniska.SmerJ(suradnice1, mravenisko.ZistiRozmerMraveniska()).ZistiYSuradnicu() == suradnice2.ZistiYSuradnicu()) { if (Math.Abs(suradnice1.ZistiYSuradnicu() - suradnice2.ZistiYSuradnicu()) == 1) { VykresliCiaru(pen1, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2, velkostStvorceka / 2); VykresliCiaru(pen2, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2 + 3, velkostStvorceka / 2); } else { VykresliCiaru(pen1, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka + velkostStvorceka / 2, graphics, velkostStvorceka / 2, velkostStvorceka / 2); VykresliCiaru(pen2, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka + velkostStvorceka / 2, graphics, velkostStvorceka / 2 + 3, velkostStvorceka / 2); VykresliCiaru(pen1, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka - velkostStvorceka / 2, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2, velkostStvorceka / 2); VykresliCiaru(pen2, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka - velkostStvorceka / 2, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2 + 3, velkostStvorceka / 2); } } else if (NasledujucePolickoMraveniska.SmerZ(suradnice1, mravenisko.ZistiRozmerMraveniska()).ZistiXSuradnicu() == suradnice2.ZistiXSuradnicu() && NasledujucePolickoMraveniska.SmerZ(suradnice1, mravenisko.ZistiRozmerMraveniska()).ZistiYSuradnicu() == suradnice2.ZistiYSuradnicu()) { if (Math.Abs(suradnice1.ZistiXSuradnicu() - suradnice2.ZistiXSuradnicu()) == 1) { VykresliCiaru(pen1, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2, velkostStvorceka / 2); VykresliCiaru(pen2, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2, velkostStvorceka / 2 + 3); } else { VykresliCiaru(pen1, suradnice1.ZistiXSuradnicu() * velkostStvorceka - velkostStvorceka / 2, suradnice1.ZistiYSuradnicu() * velkostStvorceka, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2, velkostStvorceka / 2); VykresliCiaru(pen2, suradnice1.ZistiXSuradnicu() * velkostStvorceka - velkostStvorceka / 2, suradnice1.ZistiYSuradnicu() * velkostStvorceka, suradnice1.ZistiXSuradnicu() * velkostStvorceka, suradnice1.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2, velkostStvorceka / 2 + 3); VykresliCiaru(pen1, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka, suradnice2.ZistiXSuradnicu() * velkostStvorceka + velkostStvorceka / 2, suradnice2.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2, velkostStvorceka / 2); VykresliCiaru(pen2, suradnice2.ZistiXSuradnicu() * velkostStvorceka, suradnice2.ZistiYSuradnicu() * velkostStvorceka, suradnice2.ZistiXSuradnicu() * velkostStvorceka + velkostStvorceka / 2, suradnice2.ZistiYSuradnicu() * velkostStvorceka, graphics, velkostStvorceka / 2, velkostStvorceka / 2 + 3); } } } } }