i trying following in netlogo:
- i create, using slider each breed, 100 turtles breed , 100 turtles breed b
- ask turtles breed , breed b move randomly, etc.
- after 10 ticks, turtles breed , b die (managed make work)
- create/generate new 100 turtles breed , b, move randomly, etc.
- repeat step 3
basically, ask old generation of turtles die after 10 ticks , create new generation of 100 turtles breed , 100 turtles breed b. how repeated automatically every 10 ticks number of ticks (e.g. 3000)?
your appreciated.
here part of code:
breed [ honest-citizen honest-citizens ] breed [ potential-offender potential-offenders ] … setup clear-all reset-ticks ask patches [ set pcolor black ] set-default-shape honest-citizen "circle" create-honest-citizen initial-number-honest-citizens ;;create honest citizens initialise variables [ set color white set size 0.2 set income income-from-work setxy random-xcor random-ycor set birth-tick ticks ] set-default-shape potential-offender "circle" create-potential-offender initial-number-potential-offenders [ set color red + 1 set size 0.2 ;; set income random number between 2 extremes using formula ;; random (max-extreme - min-extreme + 1) + min-extreme set income random ((income-from-work + alfa-constant) - (income-from-work - alfa-constant) + 1) + (income-from-work - alfa-constant) setxy random-xcor random-ycor set birth-tick ticks ] set-default-shape government-agent "circle" create-government-agent initial-number-law-enforcement-agents [ set color yellow + 1 set size 0.2 setxy random-xcor random-ycor ] end go if not any? turtles [ stop ] if ticks > 3000 [ stop ] ask government-agent [ count-number-of-workers count-number-of-criminals calculate-tax-per-worker calculate-probability-of-conviction move ] ask potential-offender [ move set net-income income ;; if decide become criminal commit crime, else work legally , pay tax decide-commit-crime death ;; occurs when arrested , after 10 periods of time ] ask honest-citizen [ move set net-income income-from-work pay-tax death ;; after 10 periods of time ] tick end … move rt random 50 rt random 50 fd 1 end death if ticks - birth-tick > 10 [ die ] end
when want happen "every n ticks", can use mod
. here complete example:
breed [ ] breed [ bs b ] globals [ ; sliders in model number-of-as number-of-bs ] setup clear-all set number-of-as 100 set number-of-bs 100 create-as number-of-as create-bs number-of-bs reset-ticks end go if ticks > 0 , ticks mod 10 = 0 [ ; <--- important line ask [ die ] ask bs [ die ] create-as number-of-as create-bs number-of-bs ] ask [ move ] ask bs [ move ] tick end move rt random 50 lt random 50 fd 1 end
i have added ticks > 0
clause turtles don't killed/regenerated on first tick, tweak like.