public NepohybujuceSaObjekty(int xSuradnica, int ySuradnica, TypyObjektov typyObjektov, string reprezentaciaObjektu, bool viditelnost, bool existencia, bool jeMozneVstupit) : base(xSuradnica, ySuradnica, typyObjektov, reprezentaciaObjektu, viditelnost, existencia, false) { NastavJeMozneVstupit(jeMozneVstupit); }
public ObjektyObecne(int xSuradnica, int ySuradnica, TypyObjektov typyObjektov, string reprezentaciaObjektu, bool viditelnost, bool existencia, bool pohybujemSa) { suradnice = new Suradnice(xSuradnica, ySuradnica); predchadzajuceSuradnice = new Suradnice(-1, 0); NastavTypyObjektov(typyObjektov); NastavReprezentaciaObjektu(reprezentaciaObjektu); NastavViditelnost(viditelnost); NastavExistencia(existencia); NastavPohybujemSa(pohybujemSa); }
//mravec sa naje, pokial je na danom policku potrava public void NajedzSa(Mravenisko mravenisko, int cas) { TypyObjektov typyObjektov = mravenisko.ZistiCoJeNaDanychSuradniciach(suradnice); if (typyObjektov == TypyObjektov.potrava && ZistiExistenciu()) { Potrava potrava = mravenisko.VratObjektNepohybujuceSaNaDanychSuradniciach(suradnice) as Potrava; NajedzSa(potrava.ZiadamEnergia(ZistiEnergiaMravca())); NastavPodariloSa(true); if (potrava.ZistiExistenciu() == false) { mravenisko.PridaniePrazdnaZemKonkretnaPozicia(potrava.ZistiXSuradnicu(), potrava.ZistiYSuradnicu()); } HlaskyCinnostiMravcovStavObjektov.MravecJe(cas, ZistiIdMravca(), (int)ZistiTypyMravcov() + 1, ZistiXSuradnicu(), ZistiYSuradnicu(), ZistiEnergiaMravca()); mravenisko.NastavJedenie(ZistiXSuradnicu(), ZistiYSuradnicu(), true); } }
//najdenie vhodnych pozicii na mravenisku, pre umiestnenie neveho objektu private List <int[]> NajdenieVhodnychPozicii(TypyObjektov typyObjektov) { List <int[]> pozicie = new List <int[]>(); for (int i = 0; i < ZistiRozmerMraveniska(); i++) { for (int j = 0; j < ZistiRozmerMraveniska(); j++) { if (mraveniskoTypyPolicok[i, j] == default(NepohybujuceSaObjekty) || mraveniskoTypyPolicok[i, j].ZistiTypObjektu() == TypyObjektov.prazdnaZem || mraveniskoTypyPolicok[i, j].ZistiTypObjektu() == typyObjektov) { int[] pozicia = new int[2]; pozicia[0] = i; pozicia[1] = j; pozicie.Add(pozicia); } } } return(pozicie); }
public PohybujuceSaObjekty(int xSuradnica, int ySuradnica, TypyObjektov typyObjektov, string reprezentaciaObjektu, bool viditelnost, bool existencia) : base(xSuradnica, ySuradnica, typyObjektov, reprezentaciaObjektu, viditelnost, existencia, true) { }
public void NastavTypyObjektov(TypyObjektov typyObjektov) { this.typyObjektov = typyObjektov; }