locked
Thema Reichweite

    Frage

  • hi,

    kann sein dass das irgendwo in dem Tutorial steht, aber ich habs ned gefunden also:

    kann man die reichweite erhöhen, also z.B: in dem man in den Bau zurückkehrt, oder stirbt sie immer nach dieser bestimmten zeit die von der Reichweite begrenzt ist...

    MfG milchjeeper
    Samstag, 4. November 2006 17:07

Antworten

  • Ich habe mal etwas den Quellcode durchstöbert und habe dabei folgendes
    unter Ameisenbau gefunden:
    ameise.ZurückgelegteStrecke = 0;

    Wenn ich den Code richtig verstehe wird unter anderem das aufgerufen, wenn
    die Ameise wieder beim Bau angekommen ist. Deine Ameise sollte also wieder
    die volle Reichweite haben, die ihr am Anfang durch den Modifikator zugewiesen
    worden ist.
    Sonntag, 5. November 2006 11:35

Alle Antworten

  • Ich habe mal etwas den Quellcode durchstöbert und habe dabei folgendes
    unter Ameisenbau gefunden:
    ameise.ZurückgelegteStrecke = 0;

    Wenn ich den Code richtig verstehe wird unter anderem das aufgerufen, wenn
    die Ameise wieder beim Bau angekommen ist. Deine Ameise sollte also wieder
    die volle Reichweite haben, die ihr am Anfang durch den Modifikator zugewiesen
    worden ist.
    Sonntag, 5. November 2006 11:35
  • Hohoho,

    Das "istMüde()" wird zu jeder Runde aufgerufen, sobald die Ameise ein drittel der maximalen Reichweite zurückgelegt hat. Sobald diese Funktion also zum ersten mal aufgerufen wird hat man noch 2/3 der maximalen Reichweite zur Verfügung um die Ameise zurück zum Bau zu schicken.

    Im Bau selbst wird die zurückgelegte Strecke zurückgesetzt und die Ameise hat wieder volle Reichweite.
    Montag, 6. November 2006 23:12
  • wird, ( wenn die Armeise müde ist ), dann NUR istmüde() aufgerufen, oder auch istunterwegs()?

    ich wollte eine kleine abänderung schreiben, die mehr zeit rausholt, die die Armeise verbringt bis sie wieder zum bau muss, doch diese trat nie ein. Falls die antwort auf meine Frage (oben) Ja ist, kann ich mir das erklären, falls Nein, werd ich mal den Code posten.

    MfG milchjeeper

    Ps bin nicht zuHause, kann also ned ausprobieren ;)
    Dienstag, 7. November 2006 13:03
  • Ja, "istUnterwegs" wird unabhängig von "istMüde" immer ausgeführt (sofern die Ameise auch mit einem Ziel ausgestattet ist). Vielleicht liegts daran, dass du deine Ameise mit "geheGeradeaus" in Bewegung gesetzt hast. Dabei hat die Ameise kein explizites Ziel und erhält somit auch kein "istUnterwegs".

    Aber dennoch ist das kein Problem. Im Ereignis "istMüde" kannst du ja immernoch prüfen wie weit die Ameise schon gelaufen ist und kannst DORT entscheiden ob du schon darauf reagieren willst oder die Ameise lieber noch ein paar Meter laufen soll.

    Besser noch: Du könntest sogar prüfen wie weit es noch zum nächsten Bau, sehen wie weit die Ameise noch laufen kann und danach die Entscheidung treffen ob du nach Hause gehst oder nicht.
    Dienstag, 7. November 2006 14:52