locked
Ameisen greifen die Käfer nicht an

    Frage

  • Hallo,
    ich habe das Problem, dass meine Ameisen die Käfer nicht angreifen.
    Der Code ist hauptsächlich noch vom Tutorial übernommen.

    Hier mein Code:

    public override void Sieht(Käfer käfer) {
                int entfernung, richtung;
                entfernung = Koordinate.BestimmeEntfernung(this, käfer);
                richtung = Koordinate.BestimmeRichtung(this, käfer);
                SprüheMarkierung(richtung, entfernung);
                LasseNahrungFallen();
                if (true)
                {
                    GeheZuZiel(käfer);
                    GreifeAn(käfer);
                }
                else
                {
                    GeheWegVon(käfer);
                }

    public override void GreiftAn(Käfer käfer) {
                int entfernung, richtung;
                entfernung = Koordinate.BestimmeEntfernung(this, käfer);
                richtung = Koordinate.BestimmeRichtung(this, käfer);
                SprüheMarkierung(richtung, entfernung);
                if (AktuelleEnergie < MaximaleEnergie / 2)
                    GeheZuBau();
            }

    Samstag, 24. März 2007 16:02

Alle Antworten

  • Hallo Hack14, leider kann ich dir nur sehr allgemeine Tipps geben!

    Wenn das dein Code ist sollte eigentlich dein Compiler Meckern!

    so wie ich das sehe fehlt hinter sieht() {} das ende vom codeblock, also ne geschweifte klammer!
    Ausserdem wäre ich mit konstrukten wie if(true) sehr vorsichtig! In diesem beispiel ist das nicht gefährlich;  Hier solltest du es einfach weglassen.

    Mir fehlt zu sehr der überblick! Was machen deine Meisen denn stattdessen?
    Samstag, 24. März 2007 22:56
  • Den Codeblock habe ich beendet, hab wohl etwas komisch ausgeschnitten :-p .

    Das if(true) habe ich eingefügt, damit ich gucken kann, ob sie überhaupt angreifen, was sie nicht tun.

    Die Ameisen sammeln stattdessen nur Zucker und Obst, greifen aber nie an.
    Sonntag, 25. März 2007 07:15
  • mh, das heißt der "Sieht(Käfer)"-Block wird nie ausgeführt? Prüfe das doch bitte mal mit nem Breakpoint.

     

    Für alle die das hier lesen und mit "Breakpoint" nichts anfangen können:

    Breakpoints können im Quelltext platziert werden um an der entsprechenden Stelle anzuhalten falls der Programmablauf dort angekommen ist. Breakpoints lassen sich durch klick vor die entsprechende Programmzeile platzieren und sind an roten Knubbeln zu erkennen.

    Mittwoch, 28. März 2007 13:42