logo: cómo hacer que las tortugas se detengan por un número determinado de garrapatas y luego continuar
Estoy tratando de crear un modelo donde las tortugas caminan al azar (pero con una tendencia de movimiento hacia adelante) hasta que aterrizan en un parche de color amarillo que representa un objeto cebado.
Cuando una tortuga cae en uno de los parches amarillos, me gustaría que se detenga en ese parche y permanezca allí durante 15 garrapatas mientras "investiga" el cebo.
Después de que hayan transcurrido 15 garrapatas, quiero que las tortugas continúen moviéndose como de costumbre hasta que se encuentren con otra mancha amarilla.
He intentado modificar partes de este modelo de tarjeta estacionada en el netlogo modeling commons pero realmente no pude entenderlo (soy nuevo en netlogo)http://modelingcommons.org/browse/one_model/3205#model_tabs_browse_procedures
También he intentado implementar un temporizador de cuenta regresiva como se describe en este hilo¿Cómo se puede crear un temporizador de cuenta atrás en NetLogo?
Sin embargo, recibo un error de tiempo de ejecución 'Solo el observador puede PEDIR el conjunto de todas las tortugas' cuando intento ejecutar la simulación. ¿Alguien puede decirme a dónde me voy mal? Probablemente varios lugares! Gracias.
Aquí está el código que está causando el error de tiempo de ejecución:
turtles-own [count-down]
to setup
clear-all
ask patches with [count neighbors != 8]
[set pcolor blue]
create-turtles 20
ask turtles
[setxy random-xcor random-ycor
pen-down]
ask n-of 20 patches
[ set pcolor yellow ]
reset-ticks
end
to go
move-turtles
tick
if ticks >= 720 [stop]
end
to move-turtles
ask turtles
[ ifelse pcolor != yellow
[continue]
[stay]
]
end
to continue
ask turtles
[rt -90 + random 181]
ask turtles
[ifelse [pcolor] of patch-ahead 1 = blue [ lt random-float 360 ]
[fd 1]
]
end
to stay
ask turtles
[
setup-timer
decrement-timer
if timer-expired? [continue]
]
end
to setup-timer
set count-down 15
end
to decrement-timer
set count-down count-down - 1
end
to-report timer-expired?
report ( count-down <= 0 )
end