2016-07-27 14 views
0

Gibt es eine Möglichkeit zum Speichern/Abrufen von Werten einer Variablen in Netlogo von früheren Ticks?Speichern/Abrufen des Werts einer Variablen in Netlogo

Ich brauche einen Weg, um zu erinnern, was eine Variable von vorherigen Ticks war. Wenn meine Turtle-Variable R den letzten 3 Ticks gleich 0 ist, muss ich eine andere Variable auf Null setzen.

Hier ist was ich dachte.

to regression 
    ask turtles [if (R = 0 from last 3 ticks [Set Oin 0 ]] 
end 

Antwort

1

Wie wäre es eine Liste von Variablen zu machen, dann die Länge dieser Liste zu begrenzen, wie weit Sie wieder den Agenten möchten „erinnern“

set memory [] 

dann zur Liste hinzufügen jede Zecke und loszuwerden alte Erinnerungen mit

set memory lput value memory 
if length memory >= 4 [set memory but-first memory] 

und wenn Null auf der Liste ist, haben das alter Verhalten in irgendeiner Weise

if member? 0 memory [blah] 
+0

Ahh, das war es schon. Ich habe das 'if-Mitglied ausgetauscht? 0 Speicher [blah] 'Bit mit' wenn Speicher = [0 0 0] [blah] 'aber die Idee, eine Liste zu verwenden, funktioniert gut. Danke für die Hilfe. – UserBRy

Verwandte Themen