You are right, this can be done by making the turtles count the number of ticks they have been on a patch. Also this has to be a turtle variable and not a global variable since each turtle will have a different value for this
The approach, I have used is this:
- Once the turtle arrives at its destination record the
ticks
(the global variable which records the number of ticks that have passed till now) into a turtle variable sayticks-since-here
. This works like a time-stamp. On each successive tick check the difference between the current-time
ticks
global variable and theticks-since-here
turtle variable. If this becomes greater than the number of ticks the turtle is allowed to stay on the patch, let it choose and move to the new destination.breed [visitors visitor]
globals [ number-of-visitors ] visitors-own [ ; visitors own destination destination ticks-since-here ] to go ask visitors [ move ] tick end to move ; Instructions to move the agents around the environment go here ; comparing patch standing on to dest, if at dest then choose random new dest ; then more forward towards new dest ifelse ( patch-here = destination ) [ if ticks - ticks-since-here > ticks-to-stay-on-patch patch-here [ set ticks-since-here 0 set destination one-of patches with [ pcolor = 65 or pcolor = 95 or pcolor = 125 or pcolor = 25 or pcolor = 15 or pcolor = 5 ] ] ] [ face destination forward 1 if ( patch-here = destination ) [ set ticks-since-here ticks ] ] end to-report ticks-to-stay-on-patch [p] if [pcolor] of p = 65 [ report 6 ] if [pcolor] of p = 95 [ report 5 ] if [pcolor] of p = 125 [ report 4 ] if [pcolor] of p = 25 [ report 3 ] if [pcolor] of p = 15 [ report 2 ] if [pcolor] of p = 5 [ report 1 ] end to setup-people ;;;; added the following lines to facilitate world view creation ask patches [ set pcolor one-of [65 95 125 25 15 5] ] set number-of-visitors 100 ;;;; create-visitors number-of-visitors [ ask visitors [ ; set the shape of the visitor to "visitor" set shape "person" ; set the color of visitor to white set color white ; give person a random xy setxy (random 50) (random 50) ; set visitors destination variable set destination one-of patches with [ pcolor = 65 or pcolor = 95 or pcolor = 125 or pcolor = 25 or pcolor = 15 or pcolor = 5 ] ] ] end