Frage

Ich versuche, wenn zu finden dort eine Schildkröte auf patch-ahead n ist

, deren Geschwindigkeit - Beschleunigung <= 0. Der Code, den ich herauskommen, ist:

if any? turtles on patch-ahead n with [speed <= (speed - acceleration)]

aber das gibt einen Fehler, dass:

  

Patch-ahead erwartet eine Zahl, statt bekam Mittel gesetzt.

Wie das ich beheben?

n ist eine Zahl variabel. Ich mag die ‚Geschwindigkeit‘ Schildkröte zugreifen, die eine benutzerdefinierte Schildkröte-eigene Variable ist, an der n th Patch von der anrufenden Schildkröte. Der Befehl ‚with‘ funktioniert hier nicht. Bitte schlagen eine Alternative, um die Geschwindigkeit der Schildkröte zuzugreifen, sagen wir, den dritten Patch von der anrufenden Schildkröte.

War es hilfreich?

Lösung

Wenn man sich die Patch-ahead Dokumentation Sie werden feststellen, dass es ein Argument erfordert: eine Zahl, die die Entfernung darstellt, nach vorne zu schauen. Sie verwenden einen Patch ‚n‘ statt eine Nummer.

Wie pro Sie einen Kommentar, ich denke, vielleicht möchten Sie Schildkröten auf, und die Verwendung Klammer es deutlicher zu machen, wie zum Beispiel:

if any? ((turtles-on patch-ahead n) with [speed <= (speed - aceleration)])

In der oben ich das n gehe davon eine Zahl:. Die Strecke, die Sie nach vorne schauen wollen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top