2017-04-07 8 views
0

Ich arbeite in Epidemie-Algorithmus, ich verwende eine Kombination zwischen Klatschalgorithmus und SIR-Modell. Ein Teil von dem, was ich versuche zu tun, ist die Farbe einer der Nachbarn Schildkröten zu ändern und warten 3.0 dann färben Sie die andere, bis alle Schildkröten die Farbe grün bekommen.Schildkröten warten jedes Mal

Aber mein Programm tun die Funktion nur einmal warten.Jetzt wie ich meine Schildkröten jedes Mal warten 3.0 Ticks dann Farbe seinen Nachbarn.

dies der Code:

to setup 
    clear-all 
    reset-ticks 
    crt 100 
    set color blue 
end 
to go 
    wait 3.0 
    ask one-of out-link-neighbors with [color = blue] [ 
    set color green 
    ask (link-with myself) [ 
    set color green - 3 

    ] 
] 
    tick 
    end 

Und danke euch allen.

Antwort

1

Der Befehl wait in your go stoppt die Ausführung (in Sekunden). Was Sie tun möchten, ist es auf den Zecken zu färben. Also, stattdessen möchten Sie die Ticks um 3 modulieren und wenn der Rest 0 ist, färben Sie es grün.

to go 
    if ticks mod 3 = 0 
    [ 
     ask one-of out-link-neighbors with [color = blue] 
     [ 
      set color green 
      ask (link-with myself) [set color green - 3] 
     ] 
    ] 
+0

es ist woorrk !! Vielen Dank –