コード例 #1
0
 /// <summary>
 /// Es kann vorkommen, dass feindliche Lebewesen eine Ameise aktiv angreifen. Sollte
 /// eine Wanze angreifen, wird diese Methode hier aufgerufen und die Ameise kann
 /// entscheiden, wie sie darauf reagieren möchte.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:WirdAngegriffen(Wanze)"
 /// </summary>
 /// <param name="wanze">Angreifende Wanze</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     if (AktuelleLast > 0)
     {
         LasseNahrungFallen();
     }
 }
コード例 #2
0
ファイル: JaJoMaTiKlasse.cs プロジェクト: Johnnek/JaJoMaTi
 /// <summary>
 /// So wie Ameisen unterschiedliche Nahrungsmittel erspähen können, entdecken Sie auch
 /// andere Spielelemente. Entdeckt die Ameise eine Wanze, so wird diese Methode aufgerufen.
 /// </summary>
 /// <param name="wanze">Erspähte Wanze</param>
 public override void SiehtFeind(Wanze wanze)
 {
     if (Kaste == "Attacker")
     {
         // Wenn ein Käfer gesehen wird muss eine angemessen große Markierung gesprüht werden. Ist diese Markierung zu klein kommt zu wenig Hilfe, ist sie zu groß haben die weit entfernten Ameisen eine zu große Strecke und kommen erst nach dem Kampf an.
         SprüheMarkierung(0, 150);
         GreifeAn(wanze);
     }
     if (Kaste == "Appler")
     {
         // Bei Käfersicht wird ermittelt ob die Ameise evtl. kollidiert, wenn sie geradeaus weitergeht.
         int relativeRichtung =
             Koordinate.BestimmeRichtung(this, wanze) - Richtung;
         if (relativeRichtung > -15 && relativeRichtung < 15)
         {
             // Wenn ja, soll sie erstmal die Nahrung fallen lassen um schneller zu laufen und dann, je nachdem auf welcher Seite der Käfer ist, in einem 20 Grad-Winkel in die andere Richtung weggehen.
             LasseNahrungFallen();
             if (relativeRichtung < 0)
             {
                 DreheUmWinkel(20 + relativeRichtung);
             }
             else
             {
                 DreheUmWinkel(-20 - relativeRichtung);
             }
             GeheGeradeaus(100);
         }
     }
 }
コード例 #3
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen Käfer
 /// sieht.
 /// </summary>
 /// <param name="wanze">Der nächstgelegene Käfer.</param>
 public override void SiehtFeind(Wanze wanze)
 {
     if (Kaste == "Wächter" && gemerkterZucker != null)
     {
         GreifeAn(wanze);
     }
 }
コード例 #4
0
 public override void SiehtFeind(Wanze wanze)
 {
     if (myAmeise.AnzahlAmeisenDerSelbenKasteInSichtweite >= 5)
     {
         myAmeise.GreifeAn(wanze);
     }
 }
コード例 #5
0
 public override void WirdAngegriffen(Wanze wanze)
 {
     if (Kaste == "Kämpfer")
     {
         GreifeAn(wanze);
     }
 }
コード例 #6
0
 public override void WirdAngegriffen(Wanze wanze)
 {
     if (myAmeise.AnzahlAmeisenDerSelbenKasteInSichtweite >= 5)
     {
         myAmeise.GreifeAn(wanze);
     }
 }
コード例 #7
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise von einem Käfer angegriffen
 /// wird.
 /// </summary>
 /// <param name="wanze">Der angreifende Käfer.</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     if (AktuelleEnergie < MaximaleEnergie / 4)
     {
         GeheZuBau();
     }
 }
コード例 #8
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise von einer Wanze angegriffen
 /// wird.
 /// </summary>
 /// <param name="wanze">Die angreifende Wanze.</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     /*
      * SprüheMarkierung((int)Information.Hilfe, MarkierungGrößeHilfe);
      * GreifeAn(wanze);
      * greiftAn = true;
      */
     //Entscheidung Angreifen
     //Wenn negativ, Entscheidung wegrennen
     if (FuzzyInferenceSystem.Superdecision5x5x2(character.wut, character.ameisenFreundeInNaehe, character.angreifen, memory.GetDecisionValue(1 - DecisionType.Wegrennen))) //beeinflusst Entscheidung zum Angriff negativ
     {
         GreifeAn(wanze);
         greiftAn = true;
         memory.ActionDone(DecisionType.AngreifenWanze);
         setActionBreak();
     }
     else
     {
         LasseNahrungFallen();
         trägtNahrung = false;
         memory.ActionDone(DecisionType.Wegrennen);
         setActionBreak();
         GeheZuBau();
     }
 }
コード例 #9
0
        /// <summary>
        /// Wird wiederholt aufgerufen, wenn die Ameise mindestens eine Wanze
        /// sieht.
        /// </summary>
        /// <param name="wanze">Die nächstgelegene Wanze.</param>
        public override void SiehtFeind(Wanze wanze)
        {
            if (!trägtNahrung && !greiftAn)
            {
                if (FuzzyInferenceSystem.CorrelateDecisionfunctions(FuzzyInferenceSystem.Superdecision5x5x2_Double(character.wut, character.energie, character.angreifen, memory.GetDecisionValue(DecisionType.AngreifenWanze)), FuzzyInferenceSystem.Superdecision5x5x2_Double(character.teamfaehigkeit, character.ameisenFreundeInNaehe, character.angreifen, memory.GetDecisionValue(DecisionType.AngreifenWanze))))
                {
                    //hilfe rufen
                    SprüheMarkierung(Markers.Add(new Marker(Marker.MarkerType.HilfeWanze, wanze)), MarkierungGrößeHilfe);

                    //angreifen
                    GreifeAn(wanze);
                    greiftAn = true;
                    memory.ActionDone(DecisionType.AngreifenWanze);
                    setActionBreak();
                }
                else
                {
                    //Entscheidung wegrennen
                    GeheWegVon(wanze);
                    memory.ActionDone(DecisionType.Wegrennen);
                    setActionBreak();
                }
            }
            else
            {
                Weitermachen();
            }
        }
コード例 #10
0
        internal void ReportWanze(Wanze wanze)
        {
            bool known = false;

            foreach (var wanzenticket in ticketswanze)
            {
                if (wanzenticket.Wanze == wanze)
                {
                    known = true;
                    break;
                }
            }
            if (!known)
            {
                //   if (!obstler.Contains(obst))
                // {
                //    obstler.Add(obst);
                int mengeWanzenTickets = 6;
                for (int i = 0; i < mengeWanzenTickets; i++)
                {
                    ticketswanze.Enqueue(new WanzenTicket()
                    {
                        Wanze = wanze
                    });
                }
            }
        }
コード例 #11
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise von einem Käfer angegriffen
 /// wird.
 /// </summary>
 /// <param name="wanze">Der angreifende Käfer.</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     if (Kaste.Substring(0, 7) == "Krieger" && Ziel == null)
     {
         GreifeAn(wanze);
     }
 }
コード例 #12
0
        public override void SiehtFeind(Wanze wanze)
        {
            int alpha = Richtung;
            int beta  = getA(a, wanze);
            int phi   = Math.Abs(beta - alpha) % 360;
            int r     = phi > 180 ? 360 - phi : phi;
            int sign  = (alpha - beta >= 0 && alpha - beta <= 180) || (alpha - beta <= -180 && alpha - beta >= -360) ? 1 : -1;

            r *= sign;
            if (-30 < r && r < 30)
            {
                if (Ziel != null)
                {
                    if (getD(a, Ziel) < getD(a, wanze))
                    {
                        return;
                    }
                }

                if (getD(a, wanze) < Sichtweite / 3)
                {
                    DreheUm();
                    GeheGeradeaus(Sichtweite / 3);
                    DreheUm();
                }
                else
                {
                    BleibStehen();
                }
            }
        }
コード例 #13
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen Käfer
 /// sieht.
 /// </summary>
 /// <param name="wanze">Der nächstgelegene Käfer.</param>
 public override void SiehtFeind(Wanze wanze)
 {
     if (Kaste == "Sammler")
     {
         // Bei Käfersicht wird ermittelt ob die Sammlerameise evtl. kollidiert,
         // wenn sie geradeaus weitergeht.
         int relativeRichtung =
             Koordinate.BestimmeRichtung(this, wanze) - Richtung;
         if (relativeRichtung > -15 && relativeRichtung < 15)
         {
             LasseNahrungFallen();
             if (relativeRichtung < 0)
             {
                 DreheUmWinkel(20 + relativeRichtung);
             }
             else
             {
                 DreheUmWinkel(-20 - relativeRichtung);
             }
             GeheGeradeaus(100);
         }
     }
     else
     {
         // Kämpfer greifen sofort an.
         LasseNahrungFallen();
         GreifeAn(wanze);
     }
 }
コード例 #14
0
        public override void SiehtFeind(Wanze wanze)
        {
            if (EntfernungZuBau < 300)
            {
                Speicher.akt_wanze = wanze;
            }

            // Wanzen umgehen ################### wenig effect

            if (Kaste == "Sammler" && ZielOptimized == Speicher.bau)
            {
                int ziel_angle = Koordinate.BestimmeRichtung(this, ZielOptimized);
                int wanz_angle = Koordinate.BestimmeRichtung(this, wanze);
                int diff       = ziel_angle - wanz_angle;

                // rechtsrum
                if (0 <= diff && diff < 4)
                {
                    DreheUmWinkel(-6);
                    GeheGeradeaus();
                }
                else
                if (4 <= diff && diff < 7)
                {
                    DreheUmWinkel(-4);
                    GeheGeradeaus();
                }
                else
                // linksrum
                if (0 > diff && diff > -5)
                {
                    DreheUmWinkel(6);
                    GeheGeradeaus();
                }
                else
                if (-5 > diff && diff > -8)
                {
                    DreheUmWinkel(4);
                    GeheGeradeaus();
                }
                else
                {
                    GeheZuZielOptimized(ZielOptimized);
                }
            }


            if (Kaste == "Kämpfer" && AnzahlAmeisenDerSelbenKasteInSichtweite >= 2)
            {
                if (Koordinate.BestimmeEntfernung(this, wanze) < 10)
                {
                    GreifeAn(wanze);
                }
                else
                {
                    GeheZuZielOptimized(wanze);
                }
            }
        }
コード例 #15
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen Käfer
 /// sieht.
 /// </summary>
 /// <param name="wanze">Der nächstgelegene Käfer.</param>
 public override void SiehtFeind(Wanze wanze)
 {
     if (gruppenführer[gruppe] == this && 10 * MaximaleEnergie > wanze.AktuelleEnergie)
     {
         LasseNahrungFallen();
         GreifeAn(wanze);
     }
 }
コード例 #16
0
 /// <summary>
 /// So wie Ameisen unterschiedliche Nahrungsmittel erspähen können, entdecken Sie auch
 /// andere Spielelemente. Entdeckt die Ameise eine Wanze, so wird diese Methode aufgerufen.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:SiehtFeind(Wanze)"
 /// </summary>
 /// <param name="wanze">Erspähte Wanze</param>
 public override void SiehtFeind(Wanze wanze)
 {
     SprüheMarkierung(1001, 300);
     if ((Kaste == "Kämpfer" && Ziel == null))
     {
         GreifeAn(wanze);
         Denke("Greife Wanze an");
     }
 }
コード例 #17
0
ファイル: JaJoMaTiKlasse.cs プロジェクト: Johnnek/JaJoMaTi
 /// <summary>
 /// Es kann vorkommen, dass feindliche Lebewesen eine Ameise aktiv angreifen. Sollte
 /// eine Wanze angreifen, wird diese Methode hier aufgerufen und die Ameise kann
 /// entscheiden, wie sie darauf reagieren möchte.
 /// </summary>
 /// <param name="wanze">Angreifende Wanze</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     // Wenn unsere Ameise ein Attacker ist, soll sie im Falle eines Angriffs zurück angreiffen
     if (Kaste == "Attacker")
     {
         // Wenn der Käfer angreift: Zurückschlagen.
         GreifeAn(wanze);
     }
 }
コード例 #18
0
        /// <summary>
        /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen Käfer
        /// sieht.
        /// </summary>
        /// <param name="wanze">Der nächstgelegene Käfer.</param>
        public override void SiehtFeind(Wanze wanze)
        {
            SprüheMarkierung(0, 60);

            if (Kaste.Substring(0, 7) == "Krieger" && Ziel == null)
            {
                GreifeAn(wanze);
            }
        }
コード例 #19
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen Käfer
 /// sieht.
 /// </summary>
 /// <param name="wanze">Der nächstgelegene Käfer.</param>
 public override void SiehtFeind(Wanze wanze)
 {
     // Wenn ein Käfer gesehen wird muss eine angemessen große Markierung
     // gesprüht werden. Ist diese Markierung zu klein kommt zu wenig Hilfe,
     // ist sie zu groß haben die weit entfernten Ameisen eine zu große Strecke
     // und kommen erst nach dem Kampf an.
     SprüheMarkierung(0, 150);
     GreifeAn(wanze);
 }
コード例 #20
0
 public override void SiehtFeind(Wanze wanze)
 {
     if (wanze != null && bau != null && wanze.AktuelleEnergie > 0)
     {
         if (getD(wanze, bau) < 5)
         {
             GreifeAn(wanze);
         }
     }
 }
コード例 #21
0
 public override void WirdAngegriffen(Wanze wanze)
 {
     try
     {
         GreifeAn(wanze);
     }
     catch
     {
     }
 }
コード例 #22
0
 /// <summary>
 /// So wie Ameisen unterschiedliche Nahrungsmittel erspähen können, entdecken Sie auch
 /// andere Spielelemente. Entdeckt die Ameise eine Wanze, so wird diese Methode aufgerufen.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:SiehtFeind(Wanze)"
 /// </summary>
 /// <param name="wanze">Erspähte Wanze</param>
 public override void SiehtFeind(Wanze wanze)
 {
     if (Kaste == "Krieger")
     {
         //Schicke die Krieger hin (Die Information enthält bei uns den Empfänger. -1 richtet sich dabei an Krieger)
         this.SprüheMarkierung(-1, 150);
         Denke("W");
         GreifeAn(wanze);
     }
 }
コード例 #23
0
 /// <summary>
 /// Es kann vorkommen, dass feindliche Lebewesen eine Ameise aktiv angreifen. Sollte
 /// eine Wanze angreifen, wird diese Methode hier aufgerufen und die Ameise kann
 /// entscheiden, wie sie darauf reagieren möchte.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:WirdAngegriffen(Wanze)"
 /// </summary>
 /// <param name="wanze">Angreifende Wanze</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     //if (AktuelleLast > 0)
     //{
     //    LasseNahrungFallen();
     //    GreifeAn(wanze);
     //}
     //else if (AktuelleLast == 0)
     //{
     //    GreifeAn(wanze);
     //}
 }
コード例 #24
0
        /// <summary>
        /// So wie Ameisen unterschiedliche Nahrungsmittel erspähen können, entdecken Sie auch
        /// andere Spielelemente. Entdeckt die Ameise eine Wanze, so wird diese Methode aufgerufen.
        /// Weitere Infos unter "http://wiki.antme.net/de/API1:SiehtFeind(Wanze)"
        /// </summary>
        /// <param name="wanze">Erspähte Wanze</param>
        public override void SiehtFeind(Wanze wanze)
        {
            //Übergebe feindliche Wanze an Ticketsystem
            TicketManager.Instance.ReportWanze(wanze);

            Denke("Hilfe");

            if (AktuelleLast == 0 && zuckers == null)
            {
                GeheWegVon(wanze);
            }
        }
コード例 #25
0
 /// <summary>
 /// Es kann vorkommen, dass feindliche Lebewesen eine Ameise aktiv angreifen. Sollte
 /// eine Wanze angreifen, wird diese Methode hier aufgerufen und die Ameise kann
 /// entscheiden, wie sie darauf reagieren möchte.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:WirdAngegriffen(Wanze)"
 /// </summary>
 /// <param name="wanze">Angreifende Wanze</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     if (AktuelleLast > 0 && Kaste == "ZuckerSammler")
     {
         LasseNahrungFallen();
         GreifeAn(wanze);
     }
     //else if (AktuelleLast == 0)
     //{
     //    GreifeAn(wanze);
     //}
 }
コード例 #26
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen Käfer
 /// sieht.
 /// </summary>
 /// <param name="wanze">Der nächstgelegene Käfer.</param>
 public override void SiehtFeind(Wanze wanze)
 {
     switch (Kaste)
     {
     case "Krieger":
         if (verteidigen)
         {
             GreifeAn(wanze);
         }
         break;
     }
 }
コード例 #27
0
 /// <summary>
 /// Es kann vorkommen, dass feindliche Lebewesen eine Ameise aktiv angreifen. Sollte
 /// eine Wanze angreifen, wird diese Methode hier aufgerufen und die Ameise kann
 /// entscheiden, wie sie darauf reagieren möchte.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:WirdAngegriffen(Wanze)"
 /// </summary>
 /// <param name="wanze">Angreifende Wanze</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     if (Kaste == "Sammler")
     {
         LasseNahrungFallen();
         GeheWegVon(wanze);
     }
     else if (Kaste == "Kämpfer")
     {
         if (AnzahlAmeisenInSichtweite * MaximaleEnergie > wanze.AktuelleEnergie)
         {
             GreifeAn(wanze);
         }
     }
 }
コード例 #28
0
 /// <summary>
 /// So wie Ameisen unterschiedliche Nahrungsmittel erspähen können, entdecken Sie auch
 /// andere Spielelemente. Entdeckt die Ameise eine Wanze, so wird diese Methode aufgerufen.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:SiehtFeind(Wanze)"
 /// </summary>
 /// <param name="wanze">Erspähte Wanze</param>
 public override void SiehtFeind(Wanze wanze)
 {
     LasseNahrungFallen();
     if (AnzahlAmeisenInSichtweite >= 4 && Kaste == "Kämpfer")
     {
         GreifeAn(wanze);
         int entfernung, richtung;
         entfernung = Koordinate.BestimmeEntfernung(this, wanze);
         richtung   = Koordinate.BestimmeRichtung(this, wanze);
         SprüheMarkierung(richtung, entfernung);
     }
     else
     {
         GeheWegVon(wanze);
     }
 }
コード例 #29
0
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise von einem Käfer angegriffen
 /// wird.
 /// </summary>
 /// <param name="wanze">Der angreifende Käfer.</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     // Wenn die Ameise direkt angegriffen wird lässt sie erst mal ihre Nahrung
     // fallen.
     LasseNahrungFallen();
     if (Kaste == "Sammler")
     {
         // Sammler flüchten.
         GeheWegVon(wanze, 100);
     }
     else
     {
         // Kämpfer hauen drauf.
         GreifeAn(wanze);
     }
 }
コード例 #30
0
        /// <summary>
        /// So wie Ameisen unterschiedliche Nahrungsmittel erspähen können, entdecken Sie auch
        /// andere Spielelemente. Entdeckt die Ameise eine Wanze, so wird diese Methode aufgerufen.
        /// Weitere Infos unter "http://wiki.antme.net/de/API1:SiehtFeind(Wanze)"
        /// </summary>
        /// <param name="wanze">Erspähte Wanze</param>
        public override void SiehtFeind(Wanze wanze)
        {
            //if (Kaste == "Verteidiger" && Ziel == null)
            //{
            //    SprüheMarkierung(1, 200);
            //    GreifeAn(wanze);
            //}
            //if (Kaste == "Verteidiger")
            //{
            //    Wanzenmanager.InstanceWanze.ReportWanze(wanze);
            //}

            if (AnzahlAmeisenDerSelbenKasteInSichtweite >= 5 && Kaste == "Verteidiger")
            {
                GreifeAn(wanze);
            }
        }
コード例 #31
0
        /// <summary>
        /// Wird wiederholt aufgerufen, wenn die Ameise mindestens eine Wanze
        /// sieht.
        /// </summary>
        /// <param name="wanze">Die nächstgelegene Wanze.</param>
        public override void SiehtFeind(Wanze wanze)
        {
            if (!trägtNahrung && !greiftAn)
            {
                if (FuzzyInferenceSystem.Superdecision5x5x2(character.wut, character.energie, character.angreifen, memory.GetDecisionValue(DecisionType.AngreifenWanze)))
                {
                    if (FuzzyInferenceSystem.Superdecision5x5x2(character.wut, character.ameisenFreundeInNaehe, character.angreifen, memory.GetDecisionValue(DecisionType.AngreifenWanze)))
                    {
                        //hilfe rufen
                        SprüheMarkierung(Markers.Add(new Marker(Marker.MarkerType.HilfeWanze, wanze)), MarkierungGrößeHilfe);

                        //angreifen
                        GreifeAn(wanze);
                        greiftAn = true;
                        memory.ActionDone(DecisionType.AngreifenWanze);
                        setActionBreak();
                    }
                    else
                    {
                        //wegrennen
                        //Entscheidung wegrennen
                        //GeheZuBau();
                        //memory.ActionDone(DecisionType.Wegrennen);
                        Weitermachen();
                    }
                }
            }
            else
            {
                //wegrennen
                //Entscheidung flüchten? -> Nahrung sofort fallen lassen

                /*if (EntfernungZuBau == 0)
                 * {
                 *  LasseNahrungFallen();
                 *  trägtNahrung = false;
                 *  GeheZuBau();
                 * }*/

                //speichern, dass Ameise bereits weggerannt ist?
                //memory.ActionDone(DecisionType.Wegrennen);

                Weitermachen();
            }
        }
コード例 #32
0
        /// <summary>
        /// Wird wiederholt aufgerufen, wenn die Ameise mindestens einen Käfer
        /// sieht.
        /// </summary>
        /// <param name="wanze">Der nächstgelegene Käfer.</param>
        public override void SiehtFeind(Wanze wanze)
        {
            switch (Kaste)
            {
            case "Sammler":
                LasseNahrungFallen();
                goto case "Kundschafter";

            case "Kundschafter":
                GeheGeradeaus(Zufall.Zahl(20, 40));
                break;

            case "Krieger":
                SprüheMarkierung(-1, 50);
                if (Ziel == null)
                {
                    GreifeAn(wanze);
                }
                break;
            }
        }
コード例 #33
0
ファイル: MaxsAntKlasse.cs プロジェクト: beac0n/AntMeAnt
 public override void WirdAngegriffen(Wanze wanze)
 {
     ameisenActionHandler.WirdAngegriffen(wanze);
 }
コード例 #34
0
ファイル: JavAnt.cs プロジェクト: felix11/MSP-Workshops
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise mindestens eine Wanze
 /// sieht.
 /// </summary>
 /// <param name="wanze">Die nächstgelegene Wanze.</param>
 public override void SiehtFeind(Wanze wanze)
 {
     networkCommands("SiehtFeindWanze", wanze, wanze.AktuelleEnergie.ToString());
 }
コード例 #35
0
 public override void WirdAngegriffen(Wanze wanze)
 {
     myAmeise.GreifeAn(wanze);
 }
コード例 #36
0
ファイル: MaxsAntKlasse.cs プロジェクト: beac0n/AntMeAnt
 public override void SiehtFeind(Wanze wanze)
 {
     ameisenActionHandler.SiehtFeind(wanze);
 }
コード例 #37
0
 /// <summary>
 /// So wie Ameisen unterschiedliche Nahrungsmittel erspähen können, entdecken Sie auch 
 /// andere Spielelemente. Entdeckt die Ameise eine Wanze, so wird diese Methode aufgerufen.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:SiehtFeind(Wanze)"
 /// </summary>
 /// <param name="wanze">Erspähte Wanze</param>
 public override void SiehtFeind(Wanze wanze)
 {
     if (AktuelleLast == 0 && Kaste == "Killer")
     {
         Denke("Kill kill kill!");
         var distanzZuWanze = Koordinate.BestimmeEntfernung(this, wanze);
         if (distanzZuWanze < 10)
         {
             GreifeAn(wanze);
         }
         else
         {
             var winkelzuWanze = Koordinate.BestimmeRichtung(this, wanze);
             var wegZuWanze = GetVector(distanzZuWanze, winkelzuWanze);
             var wegWanze = GetVector(wanze.RestStrecke, wanze.Richtung + wanze.RestWinkel);
             wegZuWanze.Offset(wegWanze);
             var winkel = Math.Atan2(wegZuWanze.X, wegZuWanze.Y) * 180 / Math.PI;
             DreheInRichtung((int)winkel);
             GeheGeradeaus((int)(Math.Sqrt(wegZuWanze.X * wegZuWanze.X + wegZuWanze.Y * wegZuWanze.Y)));
         }
     }
 }
コード例 #38
0
 /// <summary>
 /// Es kann vorkommen, dass feindliche Lebewesen eine Ameise aktiv angreifen. Sollte 
 /// eine Wanze angreifen, wird diese Methode hier aufgerufen und die Ameise kann 
 /// entscheiden, wie sie darauf reagieren möchte.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:WirdAngegriffen(Wanze)"
 /// </summary>
 /// <param name="wanze">Angreifende Wanze</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     if (AktuelleLast > 0)
     {
         LasseNahrungFallen();
     }
 }
コード例 #39
0
ファイル: FixMe.cs プロジェクト: TeEmZe/AntBee
 /// <summary>
 /// Es kann vorkommen, dass feindliche Lebewesen eine Ameise aktiv angreifen. Sollte 
 /// eine Wanze angreifen, wird diese Methode hier aufgerufen und die Ameise kann 
 /// entscheiden, wie sie darauf reagieren möchte.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:WirdAngegriffen(Wanze)"
 /// </summary>
 /// <param name="wanze">Angreifende Wanze</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
 }
コード例 #40
0
ファイル: FixMe.cs プロジェクト: TeEmZe/AntBee
 /// <summary>
 /// So wie Ameisen unterschiedliche Nahrungsmittel erspähen können, entdecken Sie auch 
 /// andere Spielelemente. Entdeckt die Ameise eine Wanze, so wird diese Methode aufgerufen.
 /// Weitere Infos unter "http://wiki.antme.net/de/API1:SiehtFeind(Wanze)"
 /// </summary>
 /// <param name="wanze">Erspähte Wanze</param>
 public override void SiehtFeind(Wanze wanze)
 {
     if (AktuelleLast == 0)
         GreifeAn(wanze);
 }
コード例 #41
0
ファイル: JavAnt.cs プロジェクト: felix11/MSP-Workshops
 /// <summary>
 /// Wird wiederholt aufgerufen, wenn die Ameise von einer Wanze angegriffen
 /// wird.
 /// </summary>
 /// <param name="wanze">Die angreifende Wanze.</param>
 public override void WirdAngegriffen(Wanze wanze)
 {
     networkCommands("WirdAngegriffenWanze", wanze, wanze.AktuelleEnergie.ToString());
 }
コード例 #42
0
 public override void SiehtFeind(Wanze wanze)
 {
     myAmeise.GreifeAn(wanze);
 }