2016-06-14 8 views

Antwort

1
globals [bluey] 

to setup 
    ca 
    ask one-of patches [set pcolor blue set bluey self] 
    ask n-of 250 patches [sprout 1] 
end 

to-report nearest-empty [#patch] 
    report min-one-of 
     [other (patches with [not any? turtles-here])] of #patch 
     [distance #patch] 
end 

to test 
    setup 
    ;the following fails if all patches occupied 
    ;(can add a test for nobody) 
    ask nearest-empty bluey [set pcolor red] 
end 
+0

Der Code testet derzeit nicht auf die "leere" Bedingung. 'nearest-empty' sollte so etwas wie'report min-one-von anderen Patches mit [not any? Schildkröten-hier] [distance mich] ' –

+0

@NicolasPayette Einverstanden. (Aber das betrifft nur "Test".) Basierend auf der Problembeschreibung nahm ich weniger Schildkröten als Patches an. – Alan

+0

Ich verstehe deine Antwort nicht; es scheint mir, als wäre 'nearest-empty' der richtige Ort, um zu überprüfen, ob der nächste Patch wirklich leer ist. Und als ich deinen Code ausgeführt habe, war der rote Patch manchmal besetzt, was meines Erachtens gegen die Anforderungen verstößt. –