Java StarLogo 1.2 `turtle` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Define your own procedures in the space below. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Do not modify code below this line! to procedure-index end ;; ;; misc. helpers ;; ;; flash turtle with specified color a few times to blink-color :n-blinks :color repeat :n-blinks [ wait 0.2 setcolor :color wait 0.2 setcolor turtle-color ] end ;; returns true iff value is within range ;; :range should be list of two elements, min. and ;; max. values of range (inclusive) to in-range? :value :range output (:value >= (item 1 :range) and :value <= (item 2 :range)) end ;; given degrees clockwise of north, converts ;; to compass-style or intermediate direction to heading-to-direction :h case :h [ 0 [ output "north" ] 45 [ output "northeast" ] 90 [ output "east" ] 135 [ output "southeast" ] 180 [ output "south" ] 225 [ output "southwest" ] 270 [ output "west" ] 315 [ output "northwest" ] true [ output "???" show to-string [ "ERROR: can't convert heading " :h " to direction!" ] ] ] end ;; does reverse of above conversion to direction-to-heading :d case :d [ "north" [ output 0 ] "northeast" [ output 45 ] "east" [ output 90 ] "southeast" [ output 135 ] "south" [ output 180 ] "southwest" [ output 225 ] "west" [ output 270 ] "northwest" [ output 315 ] true [ show to-string [ "ERROR: can't convert direction " :d " to heading!" ] output 0 ;; arbitrary return value ] ] end ;; ;; sensing ;; to on-mark? output (patchcolor = mark-color) end to blocked? output wall-color? pc-ahead end to wall-color? :color output in-range? :color wall-color-range end to exit-color? :color output in-range? :color exit-color-range end ;; :d must be "left", "right", "front", or "back" to blocked-towards? :d output wall-color? (patch-color-towards? :d) end to patch-color-towards? :d ;; what needs to be added to current heading ;; to look in direction :d let [ :delta 0 ] case :d [ "left" [ set :delta -90 ] "right" [ set :delta 90 ] "back" [ set :delta 180 ] "front" [ set :delta 0 ] true [ show to-string ["ERROR: can't convert " :d " to relative heading!"] ] ] output pc-towards :delta 1 end to at-exit? output (exit-color? patchcolor) end ;; ;; status ;; ;; displays message in "turtle message" monitor to say :message setturtle-message :message end ;; updates monitor showing which way the turtle ;; is currently facing (direction) to update-turtle-direction setturtle-direction (heading-to-direction heading) end to celebrate-finishing say to-string [ "I'm done! I took " step-count " steps." ] ;; flash turtle yellow a few times blink-color 4 yellow end ;; ;; primitive motion ;; to step-forward steps-forward 1 end to turn-left speed-delay left 90 update-turtle-direction end to turn-right speed-delay right 90 update-turtle-direction end to mark-here stamp mark-color setcolor mark-color end ;; based on slider value ;; to be called by any motion/turning primitive to speed-delay say "Please wait..." wait (100 - speed) / 100 say "" end ;; stops if blocked by wall to steps-forward :nsteps say "" setcolor turtle-color speed-delay ifelse :nsteps > 0 [ ;; recursive case ifelse not blocked? [ forward 1 setstep-count (step-count + 1) steps-forward (:nsteps - 1) ] [ say "My way is blocked!" ] ] [ ;; base case; no more steps to take if at-exit? [ celebrate-finishing ] ;if on-mark? [ setcolor mark-color ] stop ] end `observer` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Do not modify this code! globals [ turtle-direction turtle-message step-count turtle-color wall-color wall-color-range nothing-color exit-color exit-color-range mark-color saved-location-color ] ;; automatically called when project is opened to startup ;; nothing right now setup-colors end ;; set colors for different kinds of patches to setup-colors setturtle-color green setwall-color white setwall-color-range [1 9] setnothing-color black setexit-color purple setexit-color-range [110 119] setmark-color yellow setsaved-location-color red end to reset setup-colors clear-turtles create-turtles 1 ask-turtles [setcolor turtle-color] setstep-count 0 setturtle-message "" setturtle-message "Ready to go!" ask-turtles [update-turtle-direction] end `information` `SLPlot` title "Untitled Graph" xlabel "Time" ylabel "" xmin 0 xmax 1000 ymin 0 ymax 1000 pen 1 0 15 pen 2 0 25 pen 3 0 35 pen 4 0 45 pen 5 0 55 pen 6 0 65 pen 7 0 75 pen 8 0 85 pen 9 0 95 pen 10 0 105 `interface` SLButton turtle-or-observer? observer top-left 395 0 width-height 86 30 name "reset-button" line-to-run "reset" forever? false button-number 3 show-name? false whichip 24 SLTextWidget top-left 253 0 width-height 90 150 textwidth 86 linenums 7 words "Click reset to bring\nturtle back to \ncenter of screen. \nClick Clear Gra-\nphics in Control \nCenter to erase\nall drawing." textwidget-number 2 SLMonitor top-left 0 0 width-height 86 36 name "turtle direction" list-to-run "turtle-direction" digits 0 delay 0.2 monitor-number 1 show-name? true whichip 25 onewhichip 26 SLMonitor top-left 428 281 width-height 231 36 name "turtle message" list-to-run "turtle-message" digits 0 delay 0.1 monitor-number 2 show-name? true whichip 27 onewhichip 28 SLSlider top-left 439 0 width-height 280 25 name "slider1" variable "speed" min-value 0 max-value 99 current-value 50 slider-number 0 show-name? false SLCanvas top-left 0 90 `settings` patch-size 5 num-shapes 256 screen-half-width 42 screen-half-height 42 interface-window-xcor 408 interface-window-ycor 13 interface-window-size 690 464 output-window-xcor 0 output-window-ycor 0 output-window-width 300 output-window-height 219 info-window-xcor 0 info-window-ycor 0 info-window-width 500 info-window-height 419 control-center-xcor 8 control-center-ycor 17 control-center-width 393 control-center-height 561 turtle-command-center-height 191 observer-command-center-height 150 plot-window-xcor 0 plot-window-ycor 0 plot-window-width 508 plot-window-height 372 `string table` H4sIAAAAAAAAAG1PMWrDQBAciEUwGBeGBNKEVeVOD0ijKoWLkKAfnO/W8iHlNtxt bPT7nC4iadwMwzAzOwvgCVWQqGdsOjZuIhXqpQawLjKbpFgVXCf5XoSq0EW58mwp +Jsp9K5tWzy/dt1790JkTdgrWQkXjkq5xPnQE7bzOecjW/USatBt/5+DsJkTS77G auRTXhN9f84TjsYOqE5RguLxdhMe5nzk0ai/8H/R7rD/JCeBa6JDtshAuKek/JUa bD/G/DXT1Xhtmga7tynziXyi4yh2YFf/ABq00EpJAQAAAAABSQ== `symbol table` H4sIAAAAAAAAAGNgYGBkYCkpKk0FAJNWxWwKAAAAAAAACg== `double table` H4sIAAAAAAAAAGNgYBB08G5gAAGHmAMQ2g3K12OA0BxQWgBKi0BpCSgtA6UVoLQS lFaB0hCKwf4DlD45EwRmHQiD2GO/E8IHAAB2mqiMAAAAAAAAjA== `list table` H4sIAAAAAAAAAF1R23HDMAwjZaqxkthx3/3pCJmgm/g73/3tCFkoC3WTAiZyp6vu cJANEnzIzD7NrLiZA033b+DH8iyFP82COrjW/H7w5B3gwFiTGVOAPTAAB4SN8h+U c4yMmSJzJkudhzkzwfiuN7bxwphgsNk50m+N7O0KruBbZG+/4J2bz7HV9y9wGzJ/ DxyAIz3lZ/I7y2+V31V+t/TbfEf5NvrKk7PMmqHfJb1d/6p4BE+qecJgJ/Cimo+q 9URd3s+Rs28+//ZVob1yP+A3cJTclXd1147ZU1N/zH3H/aI+L5G5LTJuuPfvege+ HRn6h6XuetO5eyuTds9ZpJV+F39djuFJfAIAAAAAAnw= `bytecodes` H4sIAAAAAAAAAO1X2W7bRhS91EYtlkTbkrc0rdG6Ly1lyA7sBAEEB85LXDR9SGK0 RWAglDiSWVOkMBxVSn+gP9d+UzsbySFFqi7ykgfTMGfhueeuswgaH4YfCRr5Ngo+ vIC/2PM3AHwFekAsTOYzOtAhenhXi8dtKAMUYCNAFNob+a6PAzr9fYzQ1Ja+Nguy H7ZFMVdj/ZKcKyu4imx1Za4q25oiW5dzDQW3IdumMteSbVvMcQ+KUMaI+kCnv8t3 9utiPNwrcQ+4qdI1bZN2ugb3CL6pZLup3dPNkJvbYMQ2hNzc7BK0Z9gfIXuOUc/x bLQUROnYt8tSoAyNoet4dyJT9MsOSFVcGZcoqEFiwnX5DYR3YSLb9cjDhOftmlRW gZrj9bDlTdAFk11VFaqQ9NrjJmjGQeq7lvq+T/+/pCo0qUaHzi2ybMeb9Ijfsx2M RsTxPYoP4hCEDhRkDEPNpXCupDimCUcS2EIGtpiDLWVgyznYSgZWz8FWM7C1HGw9 A9vIwW5kYJs52FYGtp2DNRRsU85tCizvb8V54eNtmmFDyB/qsphK0keGrEInSi/L tUz7Q6Y/10wnsruVzK7MeMSXyHQNqjTFUwvfXYDc3gVRJ04023Q0Y1fZCepQHbr+ 6A7ZF8IOUPVDlHet05Ibaz3+GLE0oLGwXFdskSFRqrgUEwRROfReIdqABlo65NOJ mmBIv2jVLyxsBxciP2k2HRQt2hofC9CZWWR0K2xTWd/E0mHUKvAPfXJWlqZkPjwK C7HMSqUUM/ClNfhyBr6yBq9n4Ktr8DUFHx5o9VR+Gjn7Ej9QBa9cXbyyoii3oGqR HquBjCrWBXNWboqB9VGYnVMusFmU4Dbszme2RVCPzDFxUeL8a8Qau4+kxkrMskJm wPYIuWiIGd/Y8ZzgVmyvexAzqa2884S3gDBIXFE7pUjZMnXZRoXOL0L0EknQrDf2 MSvGRMAirVxyVwkak9yCGnXe67lozC5wrViMw3dWaboHqxcrTrUNdU6Fncntfbn2 c7g6UGMbGD2lMAI1GYlF3ykmY8luUVy8C41ghuiSt5HLy2E/JxzpQCsJOaJdQ4sS oBlF5dpWWpXninegyRIRKJn4CVaKJkd15EM6XIkKpqYZXZn+byVWWR7GY/ltO66d 7kZkdlxzZYoNOSuikBN6dOF+FZSFHx491VUf+MIuKtjwmFDKIHEv34znuWxB0IU8 PJy70LqcE+J7zw8Pw98YoXwBlIcv/f3XvucQHz8/zFjPrdQ+pYadNkfKDYZlmZtR kdR766n1fEouvg+7afEpCgJrgj7RroN1xP9l1aPCn+xXqutP/OMf3v740p9OLc9+ b/bp35OzZ8vTszOTLh5/Tga/Wb9by+NgQTe045lrjY+HVuCMji/Z+x1akuuro2u+ kb6iDC7CpuU6E2+KPPLLwJu7bjz+VYyHPrYRXst7ySHB0WsLTxxPjF6cn4zsU3Ps WpNgcHLa75tTa+lM59O3zh9oYE7prhsNZhiNEcbIFsORhRF5yQ7sVa18+vrqDQr8 OR6h93jQNyf0fzjo35i2E1hDF9nMz3vLn5w+owzsPWTvGxPZDmE0A4LniFrNfFol uvJoiQcKE/Fn1A62NzNzfLoSprTDN1hmW0APnBH5n7axvE74e8jeIQst5fu7x+Lz 5Jw51z+/Mek9aD4NBud90fvZscnt4KmJ/QXN0hlrXyFu8slTc0ETKYKwwNaM925E dXe74UJ+KMyHwvxcClNPndrK/YkX6xf/AouGV8wFFAAAAAAUBQ== `observer world` H4sIAAAAAAAAAEWPWw6DIBBFBx+10kf86AL63cSkS+hSpDpRUwQDo+3yC2qQhMyc O3fIBYpKvy2aGc3dkiCsXhDOAw4SVUud65+QjVLTiGoZnRZzmCZegoImQxLLpjdY U69X63VTB7RWtOgUBtwSjmWtJ0WOIzhvnlpLbZwSA/8KKQMnUOxcGqGWd1K4KE1d r9pgPADHX0+BMyh2DotH4IMwn+DK4WbFjE0pdS188DDhPm6y/pCxJavPD3m6Vs/M 9czVyN34D2WMTrNRAQAAAAABUQ== `patch world` H4sIAAAAAAAAAH3WyYqzbZee6ajCVAmKAg000EADEQRCCBEoQopOCklPdn/2zd/k 3CZJ7IGxk6oclGfaNG2SN6ES22u9H997PUdAtEdc95qeD//3v/+X//Cv//Sflv/v v/6Hf/3nfz889MdvHv7d//dP//X/+R8//+//8k//9nX68H/853/+L//xX//Tv/28 ePg//+U//9d//Zd//i//9sv84d/9t//5r5OH/+t/PPSL/3t42Pyvz4frf/+fT9f3 X3z8b3U52gQ2hc1gc9gCtoQ9wp5gK9gatoFtYc+wHewF9grbww6wN9g77AP2CfuC HWEn2DfsDLvArrBBdhu3P8Luj7D7Y+z+GLs/we5PsPtT7P4Uuz/D7s+w+w12v8Hu z7H7c+z+Aru/wO4vsftL7P4Ku7/C7q+x+2vs/ga7v8Hub7H7W+z+Dru/w+7vsft7 7P4Bu38YYHrzPm6/xb3f4t5vce+3uPc73Psd7v0O936He7/Hvd/j3u9x7/e49wfc +wPu/QH3/oB7/4h7/zh+r/42/EQ/WiraBDaFzWBz2AK2hD3CnmAr2Bq2gW1hz7Ad 7AX2CtvDDrA32DvsA/YJ+4IdYSfYN+wMu8CusEF2G7c/wu6PsPtj7P4Yuz/B7k+w +1Ps/hS7P8Puz7D7DXa/we7Psftz7P4Cu7/A7i+x+0vs/gq7v8Lur7H7a+z+Bru/ we5vsftb7P4Ou7/D7u+x+3vs/gG7/9VS2fTmfdx+i3u/xb3f4t5vce93uPc73Psd 7v0O936Pe7/Hvd/j3u9x7w+49wfc+wPu/QH3/hH3/nH8XrfUJOweYBPYFDaDzWEL 2BL2CHuCrWBr2Aa2hT3DdrAX2CtsDzvA3mDvsA/YJ+wLdoSdYN+wM+wCu8IG2W3c qqWiYVctFQ27aqlo2FVLRcOuWioadtVS0bCrloqGXbVUNOyqpaJhVy0VDbtqqWjY VUtFw65aKhp21VLRsKuWioZdtVS0AaY37+NWLRUN96qlouFetVQ03KuWioZ71VLR cK9aKhruVUtFw71qqWi4Vy0Vbfxet9Q07B5gE9gUNoPNYQvYEvYIe4KtYGvYBraF PcN2sBfYK2wPO8DeYO+wD9gn7At2hJ1g37Az7AK7wgbZbdyqpaJhVy0VDbtqqWjY VUtFw65aKhp21VLRsKuWioZdtVQ07KqlomFXLRUNu2qpaNhVS0XDrloqGnbVUtGw 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 `turtle world` H4sIAAAAAAAAAGPgSygpLSrJSVUoLkksSU1wYICDfga2nNS89JIMINuEgTWpKDU1 BchUYWAvyMkvKUjNA3L0GFiT83Pyi4BMGQaWymQwi4eBG2wYkm4OoPKU/PK8AiDP iIG1OCOxIBXI1GJgqYDoYWFgLs/IB9vLVpwBVWnMwJ6RmpiSmZcO5IjA3PUfCIAU IwMe4ODdgCnIyMAIAL8aswjvAAAAAAAA7w==