Java StarLogo
2.0
english
`turtle`
turtles-own [energy species [rabbit grass]]
;turtles can be of species rabbit or species grass

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

to grow 
  if species = rabbit [stop]  ;rabbit turtles don't grow grass
  rt random 10 lt random 10
  fd 1
  if pc-ahead = green [stamp green]   ;grass only grows near other grass
end

to move 
  if species = grass [stop]        ;grass turtles don't move
  takestep  
  eat-grass
  reproduce
  death
end

to eat-grass  ;turn the patch to black and increase energy
  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


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

to total-rabbits 
  output count-turtles-with [species = rabbit]
end

to go  
 ;the movebutton, grassbutton, and graphbutton are pressed
  startmovebutton  
  startgrassbutton   
end

to stop-it  
  ;the movebutton, grassbutton, and graphbutton are stopped
  stopmovebutton
  stopgrassbutton
end


`information`
For use with the Adventures in Modeling book,  by Vanessa Colella, Eric Klopfer, and Mitchel Resnick published by Teachers College Press, 2001.  

For more information, see  
<http://education.mit.edu/starlogo/adventures>  

Challenge 5: Rabbits  
Another project that uses the energy concept is Rabbits. This project explores a simple ecosystem made up of rabbits and grass. The rabbits wander around randomly, and the grass grows randomly. Rabbits use up energy as they move. When a rabbit bumps into some grass, it eats the grass and gains energy. If the rabbit gains enough energy, then it reproduces by hatching a new rabbit. If it loses all of its energy, then the rabbit dies.  

Click the "setup" button to set up the rabbits (red) and grass (green). The "number" slider controls the initial number of rabbits. Click the "go" button to start the simulation. The "hatch-threshold" slider sets the energy level at which the rabbits reproduce. The "grass-rate" slider controls the rate at  which the grass grows. 

(Note: You cannot change the grass-rate in the middle of a simulation. The change takes effect at the next setup.)


`interface`
SLCanvas
top-left 8 223

SLSlider
top-left 160 10
width-height 100 25
name "slider1"
variable "grass-rate"
min-value 0
max-value 100
current-value 60
slider-number 1
show-name? false

SLSlider
top-left 130 10
width-height 100 25
name "slider2"
variable "hatch-threshold"
min-value 0
max-value 30
current-value 5
slider-number 2
show-name? false

SLButton
turtle-or-observer? turtle
top-left 85 35
width-height 55 25
name "movebutton"
line-to-run "move"
forever? true
button-number 5
show-name? false
whichip 11

SLButton
turtle-or-observer? turtle
top-left 85 95
width-height 55 25
name "grassbutton"
line-to-run "grow"
forever? true
button-number 6
show-name? false
whichip 12

SLSlider
top-left 10 100
width-height 90 25
name "slider3"
variable "number"
min-value 50
max-value 500
current-value 50
slider-number 3
show-name? false

SLMonitor
top-left 134 127
width-height 74 36
name "monitor1"
list-to-run "total-rabbits"
digits 0
delay 0.5
monitor-number 1
show-name? false
whichip 16
onewhichip 17

SLLineWidget
top-left 223 51
width-height 115 82
id 4
order 4
type 1
title "Rabbits and Grass"
delay-string "1.0"
xlabel ""
ylabel ""
grid false
connected true
autoscaletrue
location 0 0
whichip 18
onewhichip 19
wizard-on true
lineset-id 1
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -65536
lineset-displayed? true
lineset-instruction "( count-turtles-with [species = rabbit ] )"
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with? true
extrainfo-with-text "species = rabbit "
extrainfo-xy? false
extrainfo-xval? false
lineset-end 1
lineset-id 2
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -11418368
lineset-displayed? true
lineset-instruction "( count-patches-with [pc = green] )"
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "patches"
extrainfo-var "Xcor"
extrainfo-with? true
extrainfo-with-text "pc = green"
extrainfo-xy? false
extrainfo-xval? false
lineset-end 2
lineset-id 3
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -6262704
lineset-displayed? false
lineset-instruction "( count-turtles) "
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 3
lineset-id 4
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -256
lineset-displayed? false
lineset-instruction "( count-turtles) "
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 4
lineset-id 5
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -11418368
lineset-displayed? false
lineset-instruction "( count-turtles) "
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 5
lineset-id 6
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -16711936
lineset-displayed? false
lineset-instruction "( count-turtles) "
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 6
lineset-id 7
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -16711738
lineset-displayed? false
lineset-instruction "( count-turtles) "
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 7
lineset-id 8
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -16711681
lineset-displayed? false
lineset-instruction "( count-turtles) "
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 8
lineset-id 9
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -16744449
lineset-displayed? false
lineset-instruction "( count-turtles) "
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 9
lineset-id 10
lineset-name "<name>"
lineset-order 4
lineset-type 1
lineset-color -7434610
lineset-displayed? false
lineset-instruction "( count-turtles) "
extrainfo-extra? true
extrainfo-instruction "number of"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 10

SLLineWidget
top-left 313 53
width-height 110 78
id 5
order 5
type 2
title "Energy"
delay-string "1.0"
xlabel ""
ylabel ""
grid false
autoscaletrue
location 0 0
whichip 20
onewhichip 21
wizard-on true
lineset-id 1
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -65536
lineset-displayed? true
lineset-instruction " ask-turtles [ if (species = rabbit) [ %ptolemy-plot 5 1 (energy) ] ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "energy"
extrainfo-with? true
extrainfo-with-text "species = rabbit"
extrainfo-xy? false
extrainfo-xval? false
lineset-end 1
lineset-id 2
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -43776
lineset-displayed? false
lineset-instruction " ask-turtles [ %ptolemy-plot 5 2 (Xcor) ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 2
lineset-id 3
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -6262704
lineset-displayed? false
lineset-instruction " ask-turtles [ %ptolemy-plot 5 3 (Xcor) ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 3
lineset-id 4
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -256
lineset-displayed? false
lineset-instruction " ask-turtles [ %ptolemy-plot 5 4 (Xcor) ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 4
lineset-id 5
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -11418368
lineset-displayed? false
lineset-instruction " ask-turtles [ %ptolemy-plot 5 5 (Xcor) ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 5
lineset-id 6
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -16711936
lineset-displayed? false
lineset-instruction " ask-turtles [ %ptolemy-plot 5 6 (Xcor) ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 6
lineset-id 7
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -16711738
lineset-displayed? false
lineset-instruction " ask-turtles [ %ptolemy-plot 5 7 (Xcor) ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 7
lineset-id 8
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -16711681
lineset-displayed? false
lineset-instruction " ask-turtles [ %ptolemy-plot 5 8 (Xcor) ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 8
lineset-id 9
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -16744449
lineset-displayed? false
lineset-instruction " ask-turtles [ %ptolemy-plot 5 9 (Xcor) ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 9
lineset-id 10
lineset-name "<name>"
lineset-order 5
lineset-type 2
lineset-color -7434610
lineset-displayed? false
lineset-instruction " ask-turtles [ %ptolemy-plot 5 10 (Xcor) ]"
extrainfo-extra? true
extrainfo-instruction "histogram"
extrainfo-breed "turtles"
extrainfo-var "Xcor"
extrainfo-with false
extrainfo-xy? false
extrainfo-xval? false
lineset-end 10

SLButton
turtle-or-observer? observer
top-left 50 10
width-height 75 25
name "button7"
line-to-run "go"
forever? false
button-number 7
show-name? false
whichip 13

SLButton
turtle-or-observer? observer
top-left 50 100
width-height 75 25
name "button8"
line-to-run "stop-it"
forever? false
button-number 8
show-name? false
whichip 14

SLButton
turtle-or-observer? observer
top-left 11 9
width-height 75 25
name "button1"
line-to-run "setup"
forever? false
button-number 1
show-name? false
whichip 15


`turtle shapes`
[encoded data, 8190 characters]
VVVVVVVV3bNxLffz2L+qqqqqqqpqu/1/Qw9TE+cOFQAAFQ7n

`template`
null

`settings`
patch-size 8
num-shapes 256
screen-half-width 25
screen-half-height 25
interface-window-xcor 415
interface-window-ycor 124
interface-window-size 674 442
output-window-xcor 0
output-window-ycor 0
output-window-width 300
output-window-height 219
info-window-xcor 149
info-window-ycor 121
info-window-width 500
info-window-height 419
control-center-xcor 47
control-center-ycor 162
control-center-width 354
control-center-height 501
turtle-command-center-height 150
observer-command-center-height 150

`string table`
H4sIAAAAAAAAAGNgYGAAABzfRCEEAAAAAAAABA==

`symbol table`
H4sIAAAAAAAAAGNgYGAAABzfRCEEAAAAAAAABA==

`double table`
H4sIAAAAAAAAAGNgYGB18G5gAAH7D2CKwUEEQttfgNIPIDQAd4VI8iwAAAAAAAAs

`list table`
H4sIAAAAAAAAAH1PQRKEMAgLbKur3hwvfsM3+Zx99EIbtPZgZ1IgpCUAWAFkAT4G
MZyGXVGOkhPmrhu6fKHGRao1/zmnFa6d2d8sTPEn+bl573p0s73MWvuBorczWDyI
wmndI3rFUxfj78ivWfY24d73a1dqvAprpUfXjG8aegg+Nx4Fd/3o/QF7BtJtkAEA
AAAAAZA=

`bytecodes`
H4sIAAAAAAAAAL1VS4/TMBAe59n0lW5J2rLahYhtV1x6gwM9Ic5w5rrtNioVsKkS
F8R/hP+E7dgex2lXCAkstRnbM+NvvpmxoXe3+UHz+2KbV3dv4ScfvwBgAn6V0+OB
ibegxwv2I7VI5komQiYjJs48AIevDeWew9YDKbtMnsh9T66xb+LxLYDYqb83yocP
EEodNcQ+87d4zvS5AsCAFnT9ZVmuN5s9reqj1RBuQoQ87iLk0VR4dm4i5opIdwSc
XcH2I/QhbWHuaVshC30HwooWh+WenjHyDSNfGrlI7Ru0uKqpIlduTVnK5DRp0I30
YRyQMt7Ta023ohrGpKZL6D/RdNe+R3Ku4AW1PpF8pbdS7hjpi9Bn7Mq1rpUqv5mq
OJIhe+DtyuI7W3rZIqmVFUdGEgMWhllM6VOjoPj8Eosp7bciI8lQR4b+PR0hJC6e
I9D64H0tvuVs6dnfoQ2lZzVC/WfMI2vexblAEUCUr+lyV64rXtZTRJIYcDSEAZZE
4iJhGq5bd6giSqdSBR1Ch64/5xXND43T8CSTemJR7xjUu8apvOAIpmSsGq0DUZkf
ymJ7vP8DnkXtpzLQizPBuc3gGlnmrefXAc8cK/AI/C0j+hM0ro6T6Z5gumdguenC
4N2R0uJhlWWyeiKrOwJ0L0wDudkzTGWb2KZ2Y6FpD00Lw8ABYwjFkVbEK0tpuy3t
IWrLu8pvlLCpO/lQPOxpUa4y+y6OJZAeXomhwS4fcxcLN+5a4fUf8d153KewH8Dw
/f4hzz7ut7ucrrJXfFNiytBEnd94L+z6Mt6LxQJrTdWXTBdJVLkHhk3fsAlPxDk8
gfP6/+OrG8XC8hpEfwr7S+s9OXcfRu33SF0HXJ+f1XjyA8TZ4mZ0As/03+EQZ178
BnZIF9cXCQAAAAAJFw==

`observer world`
H4sIAAAAAAAAAGMQSMhPKk4tKkstUiguSSxJTXBggAMrBq6CnPyS8syU9NQSIJ+F
gS0nNS+9JAPI5mBgB8kVpOaBlXKDNSPJQgAjCAMA+OWZc2QAAAAAAABk

`patch world`
[encoded data, 9555 characters]
fYHnK32BfekLed6/P///AWGOXiudRQEAAAFFnQ==

`turtle world`
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
/wctXjgrZBwAAAAAHGQ=

