Ich suche, diesen Code zu ändern, damit sich die Schildkröte nur in die Zelle vorwärts bewegt, wenn sich dort noch keine Schildkröte befindet.Wie überprüfe ich eine Zelle vorwärts 1 für eine Schildkröte?
ask turtles
[ let close-friend min-n-of 1 turtles with [my-group = [my-group] of myself] [distance myself]
ask close-friend
[ face myself
forward 1
]
]
Ich sah von der Anzahl der Schildkröten Zugabe vorwärts 1 auf eine Variable und dann eine IF-Anweisung an dem Hinzufügen, aber ich konnte es nicht zur Arbeit kommen.
Jede Antwort wird sehr geschätzt.
Das ist perfekt, vielen Dank. – AFarquhar
Ob es klarer ist, ist strittig, aber Sie können 'if can-move 1' anstelle von' if patch-ahead 1! = Nobody' verwenden. Siehe das Dokument für ['can-move?'] (Http://ccl.northwestern.edu/netlogo/docs/dictionary.html#can-move). –
'Other' ist hier notwendig, da 'Patch-Ahead 1' eigentlich der gleiche Patch ist, auf dem die Turtle bereits steht, wenn die Turtle-Überschrift kein Vielfaches von 90 ist. Wenn das überraschend erscheint, siehe nächstes Patch-Beispiel in der Codebeispielabschnitt der NetLogo-Modellbibliothek. –