예제 #1
0
        /// <summary>
        /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen
        /// Zuckerhaufen sieht.
        /// </summary>
        /// <param name="zucker">Der nächstgelegene Zuckerhaufen.</param>
        public override void Sieht(Zucker zucker)
        {
            SprüheMarkierung
                (Koordinate.BestimmeRichtung(this, zucker),
                Koordinate.BestimmeEntfernung(this, zucker));

            if (Kaste == "Wächter")
            {
                if (gemerkterZucker == null)
                {
                    // Dieser Aufruf ist nötig, damit in der nächsten Runde Wartet()
                    // aufgerufen wird.
                    BleibStehen();

                    gemerkterZucker    = zucker;
                    aufEntfernungGehen = true;
                }
            }
            else
            {
                if (gemerkterZucker == null)
                {
                    gemerkterZucker = zucker;
                }

                if (Ziel == null)
                {
                    GeheZuZiel(zucker);
                }
            }
        }
예제 #2
0
 public override void ZielErreicht(Zucker zucker)
 {
     poltergeist.Nimm(zucker);
     poltergeist.SprüheMarkierung(marker.ZUCKER_LOKALISIERT + zucker.Menge, marker.RANGE);
     poltergeist.GeheZuBau();
     // poltergeist.Ziel = zucker;
 }
예제 #3
0
        // Zuckerhaufen erneuerung
        public static void zucker_sort()
        {
            // Leere löschen
            for (int i = 0; i < zucker_list.Count() - 1; i++)
            {
                if (zucker_list[i].Menge <= 0)
                {
                    zucker_list.Remove(zucker_list[i]);
                }
            }

            int    count = zucker_list.Count();
            Zucker zucker_alt;

            for (int runde = 0; runde < count; runde++)
            {
                for (int i = 0; i < count - 1; i++)
                {
                    if (Koordinate.BestimmeEntfernung(bau, zucker_list[i]) > Koordinate.BestimmeEntfernung(bau, zucker_list[i + 1]))
                    {
                        // tauschen
                        zucker_alt         = zucker_list[i];
                        zucker_list[i]     = zucker_list[i + 1];
                        zucker_list[i + 1] = zucker_alt;
                    }
                }
            }

            // aktuellen leeren falls leer
            if (akt_zucker.Menge == 0)
            {
                akt_zucker = null;
            }
        }
예제 #4
0
 public override void Sieht(Zucker zucker)
 {
     if (AktuellesZiel == null)
     {
         GeheZu(zucker);
     }
 }
예제 #5
0
        internal void ReportSugar(Zucker zucker)
        {
            bool known = false;

            foreach (var ticket in tickets)
            {
                if (ticket.Zucker == zucker)
                {
                    known = true;
                    break;
                }
            }
            if (!known)
            {
                //zuckers.Add(zucker);
                int mengeTickets = zucker.Menge / 20;
                for (int i = 0; i < mengeTickets; i++)
                {
                    tickets.Enqueue(item: new Ticket()
                    {
                        Zucker = zucker
                    });
                }
            }
        }
예제 #6
0
        /// <summary>
        /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen
        /// Zuckerhaufen sieht.
        /// </summary>
        /// <param name="zucker">Der nächstgelegene Zuckerhaufen.</param>
        public override void Sieht(Zucker zucker)
        {
            switch (Kaste)
            {
            case "Kundschafter":
                GeheZuZiel(zucker);
                break;

            case "Sammler":
                if (Ziel == null)
                {
                    GeheZuZiel(zucker);
                }
                break;

            case "Krieger":
                if (!verteidigen)
                {
                    verteidigen = true;
                    int richtung = Koordinate.BestimmeRichtung(this, zucker);
                    entfernung = Koordinate.BestimmeEntfernung(this, zucker) * 3;
                    // Der Winkel führt dazu, daß die Krieger sternförmig um den Zucker
                    // patroullieren.
                    winkel = Zufall.Zahl(180, 215);
                    DreheInRichtung(richtung);
                    GeheGeradeaus(entfernung);
                }
                break;
            }
        }
예제 #7
0
 /// <summary>
 /// Wird einmal aufgerufen, wenn die Ameise einen Zuckerhaufen als Ziel
 /// hat und bei diesem ankommt.
 /// </summary>
 /// <param name="zucker">Der Zuckerhaufen.</param>
 public override void ZielErreicht(Zucker zucker)
 {
     // Das Ziel Ameisenbau hat der Gruppenführer dadurch vorgegeben, dass er
     // zuvor das Ziel auf den Zucker gesetzt hat.
     Nimm(zucker);
     GeheZuBau();
 }
예제 #8
0
 public override void Sieht(Zucker zucker)
 {
     if (AktuellesZiel == null)
     {
         GeheZu(zucker);
     }
 }
예제 #9
0
        /// <summary>
        /// Wird unabhängig von äußeren Umständen in jeder Runde aufgerufen.
        /// </summary>
        public override void Tick()
        {
            if (gemerkterZucker != null)
            {
                if (Ziel is Insekt)
                {
                    int entfernung = Koordinate.BestimmeEntfernung(this, Ziel);
                    if (entfernung > Sichtweite * 3)
                    {
                        BleibStehen();
                    }
                }

                if (Kaste == "Wächter")
                {
                    SprüheMarkierung
                        (Koordinate.BestimmeRichtung(this, gemerkterZucker),
                        Math.Min(Sichtweite, Koordinate.BestimmeEntfernung(this, gemerkterZucker)));
                }

                if (gemerkterZucker.Menge <= 0)
                {
                    gemerkterZucker = null;
                    if (Kaste == "Wächter")
                    {
                        imKreisGehen       = false;
                        aufEntfernungGehen = false;
                    }
                }
            }
        }
예제 #10
0
 public override void ZielErreicht(Zucker zucker)
 {
     if (Kaste == "Sammler")
     {
         Nimm(zucker);
         GeheZuBauOptimized();
     }
 }
예제 #11
0
 public static void zucker_refresh()
 {
     // refresh
     if (akt_zucker != null && akt_zucker.Menge <= 100)
     {
         akt_zucker = zucker_list[0];
     }
 }
예제 #12
0
 /// <summary>
 /// Sobald eine Ameise innerhalb ihres Sichtradius einen Zuckerhügel erspäht wird
 /// diese Methode aufgerufen. Als Parameter kommt der betroffene Zuckerghügel.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:Sieht(Zucker)"
 /// </summary>
 /// <param name="zucker">Der gesichtete Zuckerhügel</param>
 public override void Sieht(Zucker zucker)
 {
     SprüheMarkierung(1000, 100);
     if ((Kaste == "Sammler" && Ziel == null) || (Kaste == "Späher" && Ziel == null))
     {
         GeheZuZiel(zucker);
     }
 }
예제 #13
0
 /// <summary>
 /// Sobald eine Ameise innerhalb ihres Sichtradius einen Zuckerhügel erspäht wird
 /// diese Methode aufgerufen. Als Parameter kommt der betroffene Zuckerghügel.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:Sieht(Zucker)"
 /// </summary>
 /// <param name="zucker">Der gesichtete Zuckerhügel</param>
 public override void Sieht(Zucker zucker)
 {
     if (AktuelleLast == 0 && Kaste == "Standard")
     {
         Denke("Zucker!");
         GeheZuZiel(zucker);
     }
 }
 public override void Sieht(Zucker zucker)
 {
     if (currentZucker == null && myAmeise.AktuelleLast == 0)
     {
         currentZucker = zucker;
         myAmeise.GeheZuZiel(zucker);
     }
 }
예제 #15
0
 public override void ZielErreicht(Zucker zucker)
 {
     if (zucker.Menge > 0 && myAmeise.AnzahlAmeisenDerSelbenKasteInSichtweite == 0)
     {
         currentZucker = zucker;
         myAmeise.SprüheMarkierung(zucker.Menge, getSprayRangeToBau());
     }
 }
예제 #16
0
 /// <summary>
 /// Wird einmal aufgerufen, wenn die Ameise einen Zuckerhaufen als Ziel
 /// hat und bei diesem ankommt.
 /// </summary>
 /// <param name="zucker">Der Zuckerhaufen.</param>
 public override void ZielErreicht(Zucker zucker)
 {
     Nimm(zucker);
     if (AktuelleLast == MaximaleLast)
     {
         GeheZuBau();
     }
 }
예제 #17
0
        /// <summary>
        /// Sobald eine Ameise innerhalb ihres Sichtradius einen Zuckerhügel erspäht wird
        /// diese Methode aufgerufen. Als Parameter kommt der betroffene Zuckerghügel.
        /// Weitere Infos unter "http://wiki.antme.net/de/API1:Sieht(Zucker)"
        /// </summary>
        /// <param name="zucker">Der gesichtete Zuckerhügel</param>
        public override void Sieht(Zucker zucker)
        {
            zuckers = zucker;
            TicketManager.Instance.ReportSugar(zucker);

            if (AktuelleLast == 0)
            {
                GeheZuZiel(zucker);
            }
        }
예제 #18
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen
 /// Zuckerhaufen sieht.
 /// </summary>
 /// <param name="zucker">Der nächstgelegene Zuckerhaufen.</param>
 public override void Sieht(Zucker zucker)
 {
     if (!laufeWeg)
     {
         int entfernung = Koordinate.BestimmeEntfernung(this, zucker);
         SprüheMarkierung(Koordinate.BestimmeRichtung(this, zucker), entfernung);
         if (Ziel == null && AktuelleLast < MaximaleLast)
         {
             GeheZuZiel(zucker);
         }
     }
 }
예제 #19
0
        /// <summary>
        /// Sobald eine Ameise innerhalb ihres Sichtradius einen Apfel erspäht wird
        /// diese Methode aufgerufen. Als Parameter kommt das betroffene Stück Obst.
        /// Weitere Infos unter "http://wiki.antme.net/de/API1:Sieht(Obst)"
        /// </summary>
        /// <param name="obst">Das gesichtete Stück Obst</param>
        public override void Sieht(Obst obst)
        {
            //Übergebe Obst an den Ticketmanager
            TicketManager.Instance.ReportObst(obst);

            if (AktuelleLast == 0 && BrauchtNochTräger(obst))
            {
                //SprüheMarkierung(1000, 300);
                GeheZuZiel(obst);
                zuckers = null;
            }
        }
예제 #20
0
        public override void Sieht(Zucker zucker)
        {
            if (poltergeist.MussSchlafen)
            {
                return;
            }

            poltergeist.SprüheMarkierung(marker.ZUCKER_GESEHEN + zucker.Menge, marker.RANGE);
            if (poltergeist.IstNichtVollBeladen && poltergeist.Ziel != zucker)
            {
                (poltergeist as Basisameise).GeheZuZiel(zucker);
            }
        }
예제 #21
0
        /// <summary>
        /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen
        /// Zuckerhaufen sieht.
        /// </summary>
        /// <param name="zucker">Der nächstgelegene Zuckerhaufen.</param>
        public override void Sieht(Zucker zucker)
        {
            if (gemerkterZucker == null)
            {
                gemerkterZucker = zucker;
            }

            SprüheMarkierung(0, 60);

            if (Kaste.Substring(0, 7) == "Sammler" && Ziel == null)
            {
                GeheZuZiel(zucker);
            }
        }
예제 #22
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen
 /// Zuckerhaufen sieht.
 /// </summary>
 /// <param name="zucker">Der nächstgelegene Zuckerhaufen.</param>
 public override void Sieht(Zucker zucker)
 {
     // Wenn Zucker in der Nähe ist soll eine Markierung gesprüht werden. Der
     // Radius dieser Markierung richtet sich nach der Entfernung der Ameise
     // zum Zucker damit die Markierung nicht über den Zucker hinaus zeigt.
     SprüheMarkierung(
         Koordinate.BestimmeRichtung(this, zucker),
         Koordinate.BestimmeEntfernung(this, zucker));
     // Wenn die Ameise nichts trägt soll sie zum Zucker hin.
     if (AktuelleLast == 0)
     {
         GeheZuZiel(zucker);
     }
 }
예제 #23
0
 /// <summary>
 /// Sobald eine Ameise innerhalb ihres Sichtradius einen Zuckerhügel erspäht wird
 /// diese Methode aufgerufen. Als Parameter kommt der betroffene Zuckerghügel.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:Sieht(Zucker)"
 /// </summary>
 /// <param name="zucker">Der gesichtete Zuckerhügel</param>
 public override void Sieht(Zucker zucker)
 {
     if (!(Ziel is Wanze) && Kaste == "Sammler")
     {
         if (AktuelleLast == 0)
         {
             GeheZuZiel(zucker);
             int entfernung, richtung;
             entfernung = Koordinate.BestimmeEntfernung(this, zucker);
             richtung   = Koordinate.BestimmeRichtung(this, zucker);
             SprüheMarkierung(richtung, entfernung);
         }
     }
 }
예제 #24
0
 /// <summary>
 /// Hat die Ameise eine Zuckerhügel als Ziel festgelegt, wird diese Methode aufgerufen,
 /// sobald die Ameise ihr Ziel erreicht hat. Ab jetzt ist die Ameise nahe genug um mit
 /// dem Ziel zu interagieren.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:ZielErreicht(Zucker)"
 /// </summary>
 /// <param name="zucker">Der erreichte Zuckerhügel</param>
 public override void ZielErreicht(Zucker zucker)
 {
     if (Kaste == "Sammler")
     {
         Nimm(zucker);
         GeheZuBau();
     }
     else if (Kaste == "Späher")
     {
         BleibStehen();
         SprüheMarkierung(1000, 300);
         Denke("Hier gibt's Fressen!!");
     }
 }
예제 #25
0
        /// <summary>
        /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen
        /// Zuckerhaufen sieht.
        /// </summary>
        /// <param name="zucker">Der nächstgelegene Zuckerhaufen.</param>
        public override void Sieht(Zucker zucker)
        {
            // Eine Markierung darf jede Ameise sprühen.
            int richtung   = Koordinate.BestimmeRichtung(this, zucker);
            int entfernung = Koordinate.BestimmeEntfernung(this, zucker);

            SprüheMarkierung(richtung, entfernung);

            // Ein Ziel darf nur der Gruppenführer vorgeben.
            if (gruppenführer[gruppe] == this && (Ziel == null || Ziel is Insekt))
            {
                GeheZuZiel(zucker);
            }
        }
예제 #26
0
        private Queue <Ticket> fTickets = new Queue <Ticket>();                  //Liste mit allen feindlichen Ameisen


        #region Report

        internal void ReportSugar(Zucker zucker)
        {
            if (!zuckers.Contains(zucker))
            {
                zuckers.Add(zucker);
                int mengeTickets = zucker.Menge / 10;
                for (int i = 0; i < mengeTickets; i++)
                {
                    zTickets.Enqueue(new Ticket()
                    {
                        Zucker = zucker
                    });
                }
            }
        }
예제 #27
0
        /// <summary>
        /// Wird einmal aufgerufen, wenn die Ameise einen Zuckerhaufen als Ziel
        /// hat und bei diesem ankommt.
        /// </summary>
        /// <param name="zucker">Der Zuckerhaufen.</param>
        public override void ZielErreicht(Zucker zucker)
        {
            switch (Kaste)
            {
            case "Kundschafter":
                SprüheMarkierung(0, EntfernungZuBau + 40);
                stehenbleiben = true;
                break;

            case "Sammler":
                Nimm(zucker);
                GeheZuBau();
                break;
            }
        }
예제 #28
0
        /// <summary>
        /// Diese Methode wird in jeder Simulationsrunde aufgerufen - ungeachtet von zusätzlichen
        /// Bedingungen. Dies eignet sich für Aktionen, die unter Bedingungen ausgeführt werden
        /// sollen, die von den anderen Methoden nicht behandelt werden.
        /// Weitere Infos unter http://wiki.antme.net/de/API1:Tick
        /// </summary>
        public override void Tick()
        {
            //Schickt erschöpfte Ameisen zurück

            /*if (Reichweite - ZurückgelegteStrecke -20 < EntfernungZuBau)
             * {
             *  GeheZuBau();
             * }*/

            //Wenn die Ameise Last hat, dann soll sie zum Bau gehen
            if (AktuelleLast != 0)
            {
                GeheZuBauOptimized(bau);
            }

            //Schaue wie gro
            if (ankunftsort != null)
            {
                int distance = Koordinate.BestimmeEntfernung(this, ankunftsort);
                if (distance < Sichtweite / 2)
                {
                    GeheZuBau();
                    ankunftsort = null;
                }
            }

            //Findet heraus, ob der Zuckerberg noch existiert, wenn du dein Zucker schon abgeliefert hast
            if (zuckers != null && AktuelleLast == 0)
            {
                if (zuckers.Menge <= 0)
                {
                    zuckers = null;
                    BleibStehen();
                }
            }

            //Ermöglicht anderen Ameisen zu wissen, wo Zucker ist

            /*
             * if (AktuelleLast > 0)
             * {
             *  if (GetragenesObst == null)
             *  {
             *      SprüheMarkierung(Richtung + 180, 100);
             *  }
             * }
             */
        }
예제 #29
0
        /// <summary>
        /// Wird einmal aufgerufen, wenn di e Ameise einen Zuckerhaufen als Ziel
        /// hat und bei diesem ankommt.
        /// </summary>
        /// <param name="zucker">Der Zuckerhaufen.</param>
        public override void ZielErreicht(Zucker zucker)
        {
            //Zucker näher ran als gemerkter Zucker der Kollonie?
            if (EntfernungZuBau < Memory.gemerkterZucker_EntfernungZuBau)
            {
                Memory.gemerkterZucker = zucker;
            }

            //if (!trägtNahrung)
            //{
            //Zucker nehmen
            Nimm(zucker);
            trägtNahrung = true;

            SprüheMarkierung(Markers.Add(new Marker(Marker.MarkerType.Zucker, zucker)), MarkierungGrößeInformation);
            //}
            GeheZuBau();
        }
예제 #30
0
        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);
            }
        }
예제 #31
0
        public override void Sieht(Zucker zucker)
        {
            int n = 0;

            for (int i = 0; i < Storage.zucker.Count; i++)
            {
                if (Storage.zucker[i] == zucker)
                {
                    n = i + 1;
                }
            }
            if (n == 0)
            {
                Storage.zucker.Add(zucker);
                n = Storage.zucker.Count;
            }
            SprüheMarkierung(1000 + n, 1000);
        }
예제 #32
0
        /// <summary>
        /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen
        /// Zuckerhaufen sieht.
        /// </summary>
        /// <param name="zucker">Der nächstgelegene Zuckerhaufen.</param>
        public override void Sieht(Zucker zucker)
        {
            //Alle Ameisen sollen Zucker kennen
            if (Memory.gemerkterZucker == null)
            {
                Memory.gemerkterZucker = zucker;
            }
            else
            {
                //aktueller Zucker näher ran? -> in ZielErreicht(zucker) prüfen
                //aktueller Zucker voller?
                //-> neuen Zucker merken
                if (zucker.Menge > Memory.gemerkterZucker.Menge)
                {
                    Memory.gemerkterZucker = zucker;
                }
            }

            if (!trägtNahrung)
            {
                //if (FuzzyInferenceSystem.Superdecision5x5x2(character.faulheit, character.energie, character.sammelnzucker, memory.GetDecisionValue(DecisionType.SammelnZucker)))
                if (true)
                {
                    //SprüheMarkierung((int)Information.ZielNahrung, MarkierungGrößeSammler);
                    GeheZuZiel(zucker);
                    memory.ActionDone(DecisionType.SammelnZucker);
                    setActionBreak();

                    //SprüheMarkierung
                    SprüheMarkierung(Markers.Add(new Marker(Marker.MarkerType.Zucker, zucker)), MarkierungGrößeInformation);
                }
                else
                {
                    Weitermachen();
                }
            }
            else
            {
                //traegt Nahrung
                //Weitermachen();
                GeheZuBau();
            }
        }
예제 #33
0
        public override void RiechtFreund(Markierung markierung)
        {
            if (markierung.Information > 1000 && markierung.Information < 2000)
            {
                Zucker z = Storage.zucker[markierung.Information - 1000 - 1];
                try
                {
                    if (z != null)
                    {
                        if (sugar != null && bau != null)
                        {
                            if ((getD(bau, z) > getD(bau, sugar)) && getD(a, z)
                                + getD(z, bau) > getD(a, sugar) + getD(sugar, bau))
                            {
                                return;
                            }
                        }

                        sugar = z;

                        if (Ziel == null && AktuelleLast < MaximaleLast && !evading)
                        {
                            if (AktuelleLast < MaximaleLast && Ziel != sugar && Ziel != bau && Ziel != apple)
                            {
                                Sprint(sugar);
                            }
                        }
                        else
                        {
                            if (AktuelleLast == MaximaleLast && !evading)
                            {
                                Sprint(bau);
                            }
                        }
                    }
                }
                catch
                {
                    Denke("OMG Exception");
                    Storage.zucker.RemoveAt(markierung.Information - 1000 - 1);
                }
            }
        }
예제 #34
0
 public override void ZielErreicht(Zucker zucker)
 {
     ameisenActionHandler.ZielErreicht(zucker);
 }
예제 #35
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen
 /// Zuckerhaufen sieht.
 /// </summary>
 /// <param name="zucker">Der nächstgelegene Zuckerhaufen.</param>
 public override void Sieht(Zucker zucker)
 {
     networkCommands("SiehtZucker", zucker, zucker.Menge.ToString());
 }
 public override void ZielErreicht(Zucker zucker)
 {
     myAmeise.Nimm(zucker);
     myAmeise.GeheZuBau();
 }
예제 #37
0
 public override void Sieht(Zucker zucker)
 {
     ameisenActionHandler.Sieht(zucker);
 }
예제 #38
0
 /// <summary>
 /// Wird einmal aufgerufen, wenn di e Ameise einen Zuckerhaufen als Ziel
 /// hat und bei diesem ankommt.
 /// </summary>
 /// <param name="zucker">Der Zuckerhaufen.</param>
 public override void ZielErreicht(Zucker zucker)
 {
     networkCommands("ZielErreichtZucker", zucker, zucker.Menge.ToString());
 }
예제 #39
0
파일: FixMe.cs 프로젝트: TeEmZe/AntBee
 /// <summary>
 /// Sobald eine Ameise innerhalb ihres Sichtradius einen Zuckerhügel erspäht wird 
 /// diese Methode aufgerufen. Als Parameter kommt der betroffene Zuckerghügel.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:Sieht(Zucker)"
 /// </summary>
 /// <param name="zucker">Der gesichtete Zuckerhügel</param>
 public override void Sieht(Zucker zucker)
 {
     if (AktuelleLast == 0 && !(Ziel is Wanze))
         GeheZuZiel(zucker);
 }
예제 #40
0
 /// <summary>
 /// Sobald eine Ameise innerhalb ihres Sichtradius einen Zuckerhügel erspäht wird 
 /// diese Methode aufgerufen. Als Parameter kommt der betroffene Zuckerghügel.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:Sieht(Zucker)"
 /// </summary>
 /// <param name="zucker">Der gesichtete Zuckerhügel</param>
 public override void Sieht(Zucker zucker)
 {
     if (AktuelleLast == 0 && Kaste == "Standard")
     {
         Denke("Zucker!");
         GeheZuZiel(zucker);
     }
 }
예제 #41
0
        /// <summary>
        /// Hat die Ameise eine Zuckerhügel als Ziel festgelegt, wird diese Methode aufgerufen, 
        /// sobald die Ameise ihr Ziel erreicht hat. Ab jetzt ist die Ameise nahe genug um mit 
        /// dem Ziel zu interagieren.
        /// Weitere Infos unter "http://wiki.antme.net/de/API1:ZielErreicht(Zucker)"
        /// </summary>
        /// <param name="zucker">Der erreichte Zuckerhügel</param>
        public override void ZielErreicht(Zucker zucker)
        {
            Nimm(zucker);

            GeheZuBau();
        }
예제 #42
0
 public override void Erreicht(Zucker zucker)
 {
     Nimm(zucker);
     SprüheMarkierung(-1, 200);
     GeheZuBau();
 }
예제 #43
0
 public override void Sieht(Zucker zucker)
 {
     if (myAmeise.AnzahlAmeisenDerSelbenKasteInSichtweite == 0 || currentZucker == zucker) myAmeise.GeheZuZiel(zucker);
 }