public override void Sieht(Zucker zucker) { if (Speicher.akt_zucker == null && Koordinate.BestimmeEntfernung(Speicher.bau, zucker) < 1050) { Speicher.akt_zucker = zucker; } else if (!Speicher.zucker_list.Contains(zucker) && Koordinate.BestimmeEntfernung(Speicher.bau, zucker) < 1050) { Speicher.zucker_list.Add(zucker); Speicher.zucker_sort(); } if (Kaste == "Sammler" && ZielOptimized == null) { GeheZuZielOptimized(zucker); } }
public override void Tick() { // Ziel erreicht Aktion if (ZielOptimized != null) { int distance = Koordinate.BestimmeEntfernung(this, ZielOptimized); if (distance < Sichtweite / 1.5) { GeheZuZiel(ZielOptimized); ZielOptimized = null; } } // Resurcen Refresher if (Speicher.akt_zucker != null && Speicher.akt_zucker.Menge <= 0) { Speicher.zucker_sort(); } if (Speicher.zucker_counter >= 100) { Speicher.zucker_refresh(); Speicher.zucker_counter = 0; } if (Speicher.obst_counter >= 5) { Speicher.obst_refresh(); Speicher.obst_counter = 0; } if (Speicher.wanzen_counter >= 10) { Speicher.akt_wanze = null; Speicher.wanzen_counter = 0; } // Obst tragerichtung reset if (Kaste == "Sammler" && GetragenesObst != null && AktuelleLast > 0) { obst_angle_reset = obst_angle_reset + 1; if (obst_angle_reset >= 250) { GeheZuBauOptimized(); obst_angle_reset = 0; } } // Zuweit laufende Ameisen korigieren if (Kaste == "Sammler" && AktuelleLast == 10 && EntfernungZuBau < 80) { GeheZuBauOptimized(); } // Zulange nichts reset // bringt nicht viel if ((Kaste == "Sammler" || Kaste == "ZuckerKämpfer") && ZielOptimized == null) { do_nothing_counter = do_nothing_counter + 1; if (do_nothing_counter >= 100) { BleibStehen(); do_nothing_counter = 0; } } // Kampfradius if (Kaste == "Kämpfer" && EntfernungZuBau > 350) { GeheZuBauOptimized(); } // Zuckerkämpfer beim Zucker behalten if (Kaste == "Zuckerkämpfer" && Koordinate.BestimmeEntfernung(this, Speicher.akt_zucker) > 50) { GeheZuZielOptimized(Speicher.akt_zucker); } // Identifier if (Kaste == "FSpäher" || Kaste == "Späher1" || Kaste == "Späher2" || Kaste == "Späher3" || Kaste == "Späher4") { Denke("SP"); } if (Kaste == "Sammler") { Denke("S"); } if (Kaste == "Kämpfer") { Denke("K"); } if (Kaste == "ZuckerKämpfer") { Denke("ZK"); } }