RABBITS SOURCE CODE

Back to Rabbits


Turtle Procedures Observer Procedures
turtles-own [energy species [rabbit grass]] 

to setup 
setxy random screen-width random screen-height ifelse who < grass-rate
[setc black ht setspecies grass]
[setc red setspecies rabbit setenergy random 10]
repeat 20 [grow]
end 

to grow 
if species = rabbit [stop]
rt random 10 lt random 10
fd 1
if pc-ahead = green [stamp green]
end

to move
if species = grass [stop]
takestep
eat-grass
reproduce
death
end

to eat-grass
if pc = green [stamp black setenergy energy + 1]
end

to takestep
rt random 50
lt random 50
fd 1
setenergy energy - 0.25
end

to reproduce
if energy > hatch-threshold [setenergy energy / 2 hatch [] ]
end

to death
if energy < 0 [die]
end

to setup 
ca 
clearplot
crt number + grass-rate 
ask-patches [if (random 100) < 25 [setpc green]]
ask-turtles [setup] 
setup-graph 
end 

to setup-graph
pp1 ppreset setppc green
pp2 ppreset setppc red
setplot title "Rabbits and Grass"
setplot-yrange 0 300
setplot-xrange
end

to graph-it
pp1 ppd plot (count-pc green) / 5
pp2 ppd plot count-turtles-with [color = red]
end

to total-rabbits
output count-turtles-with [color = red]
end

to go
movebutton
grassbutton
graphbutton
end

to stop-it
stopmovebutton
stopgrassbutton
stopgraphbutton
end