locked
Warum transportieren meine Ameisen kein Zucker???

    Frage

  • Hi

    ich hab da mal n Problem ! Meine Ameisen bringen den Zucker nicht zum Bau!!! Beim Obst klappt es, nur beim zucker net! Die Ameisen gehen hin, es verschwindet auch zucker von der Anzeige, aber die Tierchen bringen den Zucker nicht zum Bau! Ist das normal??? Und wie kann man sonst noch eine "Straße" bauen.

     

    Danke für eure Hilfe!!!

    Montag, 5. März 2007 21:52

Alle Antworten

  • Hi,

    du musst zugeben, dass deine Angaben etwas knapp sind um da konkret drauf zu antworten. Ich vermute jetzt einfach mal, dass du deiner Ameise entweder nicht gesagt hast, dass sie zum Bau gehen soll oooooder du das Problem hast, dass deine Ameise direkt nach der Aufnahme des Zuckers von was anderem abgelenkt wird.

    Oft passiert es, dass man der Ameise irgendwas sagt und sie das einfach nicht machen will. Das liegt dann eigentlich immer daran, dass sie direkt nachdem man ihr was sagt irgendwas anderes passiert. Beim Zucker ist es beispielsweise so, dass man ihr bei KommtAnBei(Zucker) sagt sie soll Zucker nehmen und dann zum Bau gehen. Gleichzeitig wird aber auch Sieht(Zucker) ausgeführt wo drin steht, dass sie zum Zucker hin soll. Konsequenz aus beidem: Die Ameise tut garnichts mehr weil sie ständig widersprüchliche Befehle erhält.

    Die Lösung für dieses Problem ist eine Prüfung auf den Zustand der Ameise bei Sieht(Zucker). Durch eine Abfrage wie

    if (AktuelleLast == 0)

    sorgt man dafür, dass der folgende Befehl wirklich nur dann ausgeführt wird wenn die Ameise gerade nichts trägt. Das würde auch verhindern, dass die Ameise, nachdem sie schon mal Zucker geholt hat, den selben Zuckerhaufen wieder sieht und nochmal umdreht.

    Weitere mögliche Fehlerquelle: Du hast deiner Ameise nach Nimm(zucker) nicht gesagt, dass sie nach Hause laufen soll? Also in kommtAnBei(zucker) muss

    Nimm(zucker);
    GeheZuBau();

    stehen, damit die Ameise den gefundenen Zucker mitnimmt und am Bau abliefert.

    Eine Ameisenstraße kannst du dann bauen indem du der Ameise sagst, dass sie auf dem Rückweg Markierungen sprühen soll. Andere Ameisen müssen diese Markierung dann sehen und darauf reagieren. Am besten schaust du mal in das Tutorial. Dort gibts ein Kapitel das sich genau mit diesem Problem befasst.

    Viel Erfolg und Spaß weiterhin mit den Ameisen

    der Tom 

    Dienstag, 6. März 2007 09:06
  • Ja genau den in der PDF Anleitung Einsteiger steht

     

    if (Last == 0)

     

    wobei das" last" dann eine fehler meldung erzeugt weil es das nicht gibt..

     

    if (AktuelleLast == 0)

     

    so ist es richtiger

     

     

    Donnerstag, 5. April 2007 09:07
  • Ja, das ist leider richtig. Die Doku stimmt in manchen Fällen nicht mit dem Quelltext überein. In der aktuellen Version ist das übrigens nicht mehr so. Ab heute gibts eine neue Version "AntMe! 1.0" sowie eine umfangreichere Dokumentation mit Tutorialvideos und solchen Dingen. Ich empfehle da mal rein zu schauen.

     

    Viele Grüße

    Tom

    Donnerstag, 5. April 2007 09:17