breed [people person] breed [marks mark] breed [exits exit] people-own [pace step goal target aa bb] marks-own [coordx coordy headx heady] exits-own [coordx coordy] globals [people-got-away] to Setup clear-all setup-exits setup-room setup-marks setup-people set people-got-away 0 if gore = true [ blow-up ] reset-ticks end to Go find-way make-step escape crush if gore [ fire-spread burn ] tick end to find-way ask people [ if is-patch? target [ if distance target < 2 [ set target nobody ] ] let goall false let targett target if any? marks in-radius visibility [ if any? marks in-radius visibility with [visible? myself self] [ set targett one-of marks in-radius visibility with [visible? myself self] ] if any? marks in-radius (visibility / 4) [ if any? marks in-radius (visibility / 4) with [visible? myself self] [ let way one-of marks in-radius (visibility / 4) with [visible? myself self] set targett patch [headx] of way [heady] of way ] ] ] if not is-exit? targett [ if any? exits in-radius visibility [ if any? exits in-radius visibility with [visible? myself self] [ set targett one-of exits in-radius visibility with [visible? myself self] ] ] ] if targett = nobody [ if ([pcolor] of patch-here = brown + 4) [ if any? patches in-radius visibility with [pcolor = green + 3] [ set targett one-of patches in-radius visibility with [pcolor = green + 3 and visible? myself self ] ] ] ] ifelse targett != nobody [ set target targett set goall true ] [ set goall false ] set goal goall ] end to-report visible? [observer object] let reporter false ask observer [ set reporter subtract-headings heading (towards object) <= 90 and subtract-headings heading (towards object) >= -90 if reporter [ let route 1 let head towards object while [route < [distance object] of observer] [ if ([pcolor] of patch-at-heading-and-distance head route) = black [ set reporter false ] set route route + 1 ] ] ] report reporter end to setup-marks set-default-shape marks "arrow" create-mark 120 220 98 162 create-mark 108 117 100 162 create-mark 100 165 44 164 create-mark 43 164 3 165 create-mark 193 105 121 112 create-mark 191 223 120 220 create-mark 259 222 357 225 create-mark 358 247 355 294 create-mark 359 218 358 247 create-mark 486 223 363 222 create-mark 467 99 466 41 create-mark 467 123 467 99 create-mark 273 118 464 116 create-mark 342 120 464 116 create-mark 553 120 464 116 create-mark 625 118 807 120 create-mark 746 118 807 120 create-mark 689 117 807 120 create-mark 493 184 487 223 create-mark 493 159 490 120 create-mark 555 223 659 212 create-mark 619 215 718 207 create-mark 749 205 807 210 ask marks [ setxy coordx coordy facexy headx heady ] end to create-mark [mcoordx mcoordy mheadx mheady] create-marks 1 [ set coordx mcoordx set coordy mcoordy set headx mheadx set heady mheady set size 5 set color green ] end to setup-exits create-exit 1 176 create-exit 1 172 create-exit 1 168 create-exit 1 164 create-exit 1 160 create-exit 1 156 create-exit 1 152 create-exit 343 298 create-exit 346 298 create-exit 350 298 create-exit 354 298 create-exit 358 298 create-exit 360 298 create-exit 465 38 create-exit 468 38 create-exit 471 38 create-exit 808 220 create-exit 808 218 create-exit 808 214 create-exit 808 210 create-exit 808 206 create-exit 808 202 create-exit 808 156 create-exit 808 152 create-exit 808 148 create-exit 808 144 create-exit 808 140 create-exit 808 136 create-exit 808 132 create-exit 808 128 create-exit 808 124 create-exit 808 120 create-exit 808 116 create-exit 808 112 create-exit 808 109 ask exits [ setxy coordx coordy hide-turtle ] end to create-exit [x y] create-exits 1 [ set coordx x set coordy y ] end to burn ask people [ ask patch-here [ if pcolor = red [ ask myself [ die ] ] ] ] end to fire-spread ask patches [ if pcolor = red [ if random 100 < 2 [ set pcolor grey - 4 ] ] if pcolor = brown + 4 or pcolor = green + 3 and any? neighbors with [pcolor = red] [ if random 100 < 5 [ set pcolor red ] ] ] end to crush ask people [ ask patch-here [ if count turtles-on neighbors >= 6 and random 100 < 10 [ ask myself [ die ] ] ] ] end to escape ask people [ ask patch-here [ if (pcolor = green) [ ask myself [ set people-got-away people-got-away + 1 die ] ] ] ] end to make-step ask people [ ifelse goal and target != nobody [ face target ifelse (patch-ahead pace != nobody and [pcolor] of patch-ahead pace != black) and ((not any? turtles-on patch-ahead pace) or ((count turtles-on patch-ahead pace = 1) and (one-of turtles-on patch-ahead pace = self))) [ jump pace ] [ let radius 45 ifelse random 2 = 0 [ while [not(patch-right-and-ahead radius pace != nobody and [pcolor] of patch-right-and-ahead radius pace != black) and (not any? turtles-on patch-right-and-ahead radius pace)] [ set radius radius + 1 ] right radius ] [ while [not(patch-left-and-ahead radius pace != nobody and [pcolor] of patch-left-and-ahead radius pace != black) and (not any? turtles-on patch-left-and-ahead radius pace)] [ set radius radius + 1 ] left radius ] jump pace ] ] [ ;bez cíle ifelse step < 2 [ rt 180 set step step + 1 ] [ ifelse (patch-ahead pace != nobody and [pcolor] of patch-ahead pace != black) and ((not any? turtles-on patch-ahead pace) or ((count turtles-on patch-ahead pace = 1) and (one-of turtles-on patch-ahead pace = self))) [ jump pace ] [ let radius 1 ifelse random 2 = 0 [ while [not(patch-right-and-ahead radius pace != nobody and [pcolor] of patch-right-and-ahead radius pace != black) and (not any? turtles-on patch-right-and-ahead radius pace)] [ set radius radius + 1 ] right radius ] [ while [not(patch-left-and-ahead radius pace != nobody and [pcolor] of patch-left-and-ahead radius pace != black) and (not any? turtles-on patch-left-and-ahead radius pace)] [ set radius radius + 1 ] left radius ] jump pace ] ] ] ] end to blow-up let place one-of patches with [pcolor = brown + 4 or pcolor = green + 3] ask patches [ if (([pxcor] of place - pxcor) ^ 2 + ([pycor] of place - pycor) ^ 2 <= 10) [ set pcolor red ] ] end to setup-room ;horní část create-room 1 152 238 299 create-room 151 200 254 299 create-room 152 168 238 254 create-room 168 184 238 254 create-room 184 200 238 254 create-room 200 235 238 299 create-room 235 250 238 266 create-room 234 250 266 299 create-room 250 282 260 299 create-room 274 290 238 260 create-room 250 274 238 261 create-room 282 317 260 299 create-room 290 317 238 261 create-room 317 340 238 299 create-room 340 352 238 262 create-room 363 383 260 272 create-room 363 375 238 272 create-room 383 411 260 272 create-room 391 411 238 272 create-room 375 391 238 260 create-room 363 484 276 299 create-room 363 464 272 299 create-room 411 464 238 276 create-room 464 504 238 276 create-room 504 548 238 299 create-room 484 505 276 299 create-room 548 568 237 278 create-room 568 592 236 278 create-room 548 658 281 299 create-room 548 628 278 299 create-room 592 628 230 282 create-room 628 688 255 281 create-room 628 640 226 255 create-room 640 652 224 255 create-room 652 673 223 261 create-room 673 688 222 255 create-room 688 809 222 299 create-room 658 809 281 299 create-room 1 108 219 238 create-room 1 19 178 219 create-room 18 36 178 198 create-room 19 98 198 219 create-room 36 46 178 198 create-room 46 63 178 198 create-room 63 84 178 198 create-room 1 30 126 150 create-room 30 46 126 150 create-room 46 62 126 150 create-room 62 84 126 135 create-room 62 84 135 150 create-room 1 94 98 126 create-room 1 133 35 98 ;střed levá část create-room 163 187 190 205 create-room 139 163 190 204 create-room 124 139 190 200 create-room 118 187 175 190 create-room 118 187 160 175 create-room 118 187 145 160 create-room 120 187 130 145 create-room 161 187 120 130 create-room 135 161 120 130 create-room 197 225 170 205 create-room 225 243 170 205 create-room 197 225 120 170 create-room 225 243 128 170 create-room 243 274 170 185 create-room 243 260 184 205 create-room 260 274 185 205 create-room 274 286 170 205 create-room 286 297 170 205 create-room 297 316 178 205 create-room 297 335 170 178 create-room 316 335 177 205 create-room 335 351 185 205 create-room 335 369 170 185 create-room 351 369 184 205 create-room 369 380 185 205 create-room 369 408 170 185 create-room 380 408 184 205 create-room 408 429 170 205 create-room 436 456 189 205 create-room 456 469 189 205 create-room 436 469 180 189 create-room 436 469 170 180 create-room 243 260 131 170 create-room 260 284 133 170 create-room 284 298 133 170 create-room 298 312 133 170 create-room 312 333 133 170 create-room 332 353 148 170 create-room 333 353 133 148 create-room 353 394 133 170 create-room 394 412 133 151 create-room 394 437 151 170 create-room 412 437 133 152 create-room 437 448 133 149 create-room 437 481 158 170 create-room 437 481 149 158 create-room 448 481 133 149 ;střed pravá strana create-room 504 535 133 152 create-room 535 550 133 152 create-room 550 566 133 152 create-room 566 581 133 152 create-room 504 581 152 175 create-room 504 525 203 212 create-room 504 525 191 203 create-room 504 540 183 191 create-room 504 540 175 183 create-room 525 540 191 212 create-room 540 555 175 211 create-room 555 581 175 210 create-room 581 600 175 209 create-room 599 620 175 191 create-room 600 620 191 208 create-room 581 596 133 175 create-room 596 610 133 175 create-room 610 620 133 175 create-room 620 650 175 190 create-room 620 638 175 207 create-room 638 650 190 205 create-room 620 635 133 175 create-room 635 650 133 175 create-room 650 676 175 200 create-room 650 666 133 175 create-room 666 676 133 175 create-room 676 686 175 198 create-room 686 696 175 196 create-room 696 720 175 190 create-room 676 691 133 160 create-room 691 706 133 160 create-room 706 720 133 160 create-room 720 738 133 175 create-room 676 738 160 175 ;pravá část create-room 761 783 133 159 create-room 783 801 133 159 create-room 761 790 159 178 create-room 790 809 159 205 ;spodek create-room 133 178 35 82 create-room 177 272 35 55 create-room 178 207 55 84 create-room 207 272 55 103 create-room 272 337 35 65 create-room 272 318 64 107 create-room 318 337 65 107 create-room 337 351 82 107 create-room 337 379 56 82 create-room 351 379 81 107 create-room 337 409 35 56 create-room 379 409 55 107 create-room 409 434 35 107 create-room 409 462 35 59 create-room 434 448 59 107 create-room 448 463 59 83 create-room 448 462 83 107 create-room 474 809 35 83 create-room 574 809 82 107 create-room 474 510 83 107 create-room 510 548 83 107 create-room 548 561 83 107 create-room 561 574 83 107 ;levá část cesta create-way -1 119 149 179 create-way 84 119 126 150 create-way 272 811 106 134 create-way 462 474 35 107 create-way 480 505 107 239 create-way 468 481 170 205 create-way 107 481 204 239 create-way 352 363 238 301 create-way 340 353 262 301 create-way 187 197 90 221 create-way 103 163 203 230 create-way 100 139 199 226 create-way 97 125 190 222 create-way 84 119 175 199 create-way 90 110 175 206 create-way 118 121 126 145 create-way 83 85 126 135 create-way 93 136 97 130 create-way 132 207 83 120 create-way 206 208 92 105 create-way 132 178 81 84 create-way 161 275 119 121 create-way 206 272 102 120 create-way 225 273 106 129 create-way 243 273 128 132 create-way 260 273 131 134 create-way 429 436 170 205 create-way 504 628 211 231 create-way 504 592 230 236 create-way 504 548 220 239 create-way 547 568 235 238 create-way 567 592 235 237 create-way 540 560 210 212 create-way 555 627 209 212 create-way 581 627 208 210 create-way 600 628 207 212 create-way 620 640 206 227 create-way 638 652 204 225 create-way 650 673 107 129 create-way 650 673 199 224 create-way 672 811 199 223 create-way 676 790 197 200 create-way 686 790 195 198 create-way 696 790 189 196 create-way 720 790 174 190 create-way 737 761 133 175 create-way 801 811 133 159 ask exits [ ask patches with [ pxcor > ([xcor] of myself - 3) and pxcor < ([xcor] of myself + 3) and pycor < ([ycor] of myself + 3) and pycor > ([ycor] of myself - 3)] [ set pcolor green ] ] end to create-way [bottomx topx bottomy topy] ask patches with [pxcor < topx and pycor < topy and pxcor > bottomx and pycor > bottomy] [ set pcolor green + 3 ] end to create-room [bottomx topx bottomy topy] ask patches with [pxcor < topx and pycor < topy and pxcor > bottomx and pycor > bottomy] [ set pcolor brown + 4 ] end to setup-people create-people number-of-people ask people [ move-to one-of patches with [pcolor = brown + 4 or pcolor = green + 3 and not any? turtles-here] set size 2 set pace random-normal 1 0.2 set target nobody set goal false set step 0 ] end @#$#@#$#@ GRAPHICS-WINDOW 187 10 1008 342 -1 -1 1.0 1 10 1 1 1 0 0 0 1 0 810 0 300 1 1 1 ticks 100.0 BUTTON 103 10 167 43 NIL Setup NIL 1 T OBSERVER NIL NIL NIL NIL 1 BUTTON 17 10 80 43 NIL Go T 1 T OBSERVER NIL NIL NIL NIL 1 SLIDER 12 59 170 92 visibility visibility 0 100 40 1 1 NIL HORIZONTAL PLOT 13 244 173 394 % people got away NIL NIL 0.0 1000.0 0.0 10.0 true false "" "" PENS "default" 1.0 0 -16777216 true "" "plot people-got-away / number-of-people * 100" MONITOR 11 193 81 238 People inside count people 17 1 11 SLIDER 9 100 171 133 number-of-people number-of-people 100 1000 100 10 1 NIL HORIZONTAL MONITOR 94 193 166 238 People out people-got-away 17 1 11 SWITCH 10 145 173 178 gore gore 0 1 -1000 @#$#@#$#@ ## WHAT IS IT? This model simulates the evacuation of large public building in case of any emergency and measures how fast can people get out of building. In every large public building there is a problem, that people don´t know the building very well, and might get lost inside the building. Therefore they could not get out fast during the evacuation. To deal with this problem, there are “Emergency exit” marks on the walls or hanging from the ceiling, which shows people way to the nearest exit. In case of emergency, people should seek the exit as fast as possible. There has to be enough exits for the people, so they don’t stuck and crush themselves in the crowd, and there should also be enough marks, so the people can find the way out quickly. The public building in my model is modelled according to a plans of ground floor of „public side“ of Centrum Černý most, which is a large shopping centre in Prague. ## HOW IT WORKS At the setup, people are created randomly over the plan of building, of course, they can’t spawn inside walls. When the “go” button is pressed, people will try to get out of building as fast as possible. On the plot, there is measured, how many people (in %) got away in what time measured in ticks. One tick is considered to be about 1 sec of real time. ###People People can see up to the distance set at the beginning and only in front 180° (they can’t see, what’s behind them). Also they can’t see through walls. At first, they will try to seek exit around them. If they see one, they will go to the exit and leave the building. If they see no exit around, they will try to seek the marks leading to the exit. If they see the mark, they will go to it until, they are close enough to read it (it is 25% of visibility). When they can read the sign, the will go the way mark shows and look for another mark of exit. If people see no exit and no sign either, and they are in the shops (the floor of the shops are brown in my model), they will try to seek the walkway, where is better chance to find any marks or exits. If they don’t see any exit nor mark nor walkway, they will look behind themselves and with no luck even there, they will simply wander random way to find any think mentioned before. If any person hits the wall, he or she will follow it to the right or left (chosen randomly). ###Exits Exits are places, people seek to get to. They are marked green on the plan. If any person steps on the exit, he/she will disappear and is counted as the one who got away. ###Marks Marks are stationary agents placed in the model. They have a shape of green arrow pointing the way, people should go. If any person sees the mark, he/she will come to it as close as he can read it and then he/she will go the direction the mark is showing. ###Walkway Walkways are patches with bright green color. People, who are in the shops and can’t see any exit nor mark, will try to get to the walkway. ###Shops Shops are patches with bright brown color. ###Walls Walls are patches with black color. People can’t walk through walls and can’t see through them. ## HOW TO USE IT The largest part of the interface is the graphic window, where after the setup can be seen the plan of the building with all parts. It is updated every tick. There are two sliders on the interface: **Visibility**, which sets how far people can see, it also sets the readability of the marks, which is ¼ of visibility. 1 point of visibility means 1 approximately 1 meter distance in reality; **Number-of-people**, which sets, how many people will spawn on the map during the initial setup. Also there are two buttons: **Go**, which starts the model run and tick count and **Setup**, which creates the plan according to code and spawns people on the plan. The setup should be pressed always before the Go button. During the run there are two reporters: **People inside**, which counts the people still looking for their way out and **People out**, which counts the people, which made their way to the safety. The plot in left down side show the **percentage of people, who got out**. ## THINGS TO NOTICE Although the main information user can get from this model is, how fast can people get away from the building, another think to notice is the way people try to find the way out. The people in the model are not very smart, as would people during fire emergency or another stressful situation be. They will try to find their way out very quickly, and if they don’t see the way, they can’t pretty quickly got lost even in not too complex shop. In case of my plan, those places are the large shop in the upper left corner and the large shop in the down right corner. If user is testing his own plan, he should watch the model few times and try to look up the places, where people often get lost and consider creating more emergency exit marks on those places. ## EXTENDING THE MODEL There is implemented a fire mode, which adds the fire spreading through the plan and killing people on their way out. However because of computational capacity, the fire mode is not used on default. The model, as it is, is quite demanding for the speed of the PC, and it is more than 2 times slower with the fire added. ## RELATED MODELS In creating this model, I was inspired by Fire escape example model by Tomáš Šalamon, presented in the course 4IT496 - Simulace systémů (v angličtině). ## CREDITS AND REFERENCES Created by Tomáš Votruba for the course 4IT496 - Simulace systémů (v angličtině) Vysoká škola ekonomická - Fakulta informatiky a statistiky @#$#@#$#@ default true 0 Polygon -7500403 true true 150 5 40 250 150 205 260 250 airplane true 0 Polygon -7500403 true true 150 0 135 15 120 60 120 105 15 165 15 195 120 180 135 240 105 270 120 285 150 270 180 285 210 270 165 240 180 180 285 195 285 165 180 105 180 60 165 15 arrow true 0 Polygon -7500403 true true 150 0 0 150 105 150 105 293 195 293 195 150 300 150 box false 0 Polygon -7500403 true true 150 285 285 225 285 75 150 135 Polygon -7500403 true true 150 135 15 75 150 15 285 75 Polygon -7500403 true true 15 75 15 225 150 285 150 135 Line -16777216 false 150 285 150 135 Line -16777216 false 150 135 15 75 Line -16777216 false 150 135 285 75 bug true 0 Circle -7500403 true true 96 182 108 Circle -7500403 true true 110 127 80 Circle -7500403 true true 110 75 80 Line -7500403 true 150 100 80 30 Line -7500403 true 150 100 220 30 butterfly true 0 Polygon -7500403 true true 150 165 209 199 225 225 225 255 195 270 165 255 150 240 Polygon -7500403 true true 150 165 89 198 75 225 75 255 105 270 135 255 150 240 Polygon -7500403 true true 139 148 100 105 55 90 25 90 10 105 10 135 25 180 40 195 85 194 139 163 Polygon -7500403 true true 162 150 200 105 245 90 275 90 290 105 290 135 275 180 260 195 215 195 162 165 Polygon -16777216 true false 150 255 135 225 120 150 135 120 150 105 165 120 180 150 165 225 Circle -16777216 true false 135 90 30 Line -16777216 false 150 105 195 60 Line -16777216 false 150 105 105 60 car false 0 Polygon -7500403 true true 300 180 279 164 261 144 240 135 226 132 213 106 203 84 185 63 159 50 135 50 75 60 0 150 0 165 0 225 300 225 300 180 Circle -16777216 true false 180 180 90 Circle -16777216 true false 30 180 90 Polygon -16777216 true false 162 80 132 78 134 135 209 135 194 105 189 96 180 89 Circle -7500403 true true 47 195 58 Circle -7500403 true true 195 195 58 circle false 0 Circle -7500403 true true 0 0 300 circle 2 false 0 Circle -7500403 true true 0 0 300 Circle -16777216 true false 30 30 240 cow false 0 Polygon -7500403 true true 200 193 197 249 179 249 177 196 166 187 140 189 93 191 78 179 72 211 49 209 48 181 37 149 25 120 25 89 45 72 103 84 179 75 198 76 252 64 272 81 293 103 285 121 255 121 242 118 224 167 Polygon -7500403 true true 73 210 86 251 62 249 48 208 Polygon -7500403 true true 25 114 16 195 9 204 23 213 25 200 39 123 cylinder false 0 Circle -7500403 true true 0 0 300 dot false 0 Circle -7500403 true true 90 90 120 face happy false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 255 90 239 62 213 47 191 67 179 90 203 109 218 150 225 192 218 210 203 227 181 251 194 236 217 212 240 face neutral false 0 Circle -7500403 true true 8 7 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Rectangle -16777216 true false 60 195 240 225 face sad false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 168 90 184 62 210 47 232 67 244 90 220 109 205 150 198 192 205 210 220 227 242 251 229 236 206 212 183 fish false 0 Polygon -1 true false 44 131 21 87 15 86 0 120 15 150 0 180 13 214 20 212 45 166 Polygon -1 true false 135 195 119 235 95 218 76 210 46 204 60 165 Polygon -1 true false 75 45 83 77 71 103 86 114 166 78 135 60 Polygon -7500403 true true 30 136 151 77 226 81 280 119 292 146 292 160 287 170 270 195 195 210 151 212 30 166 Circle -16777216 true false 215 106 30 flag false 0 Rectangle -7500403 true true 60 15 75 300 Polygon -7500403 true true 90 150 270 90 90 30 Line -7500403 true 75 135 90 135 Line -7500403 true 75 45 90 45 flower false 0 Polygon -10899396 true false 135 120 165 165 180 210 180 240 150 300 165 300 195 240 195 195 165 135 Circle -7500403 true true 85 132 38 Circle -7500403 true true 130 147 38 Circle -7500403 true true 192 85 38 Circle -7500403 true true 85 40 38 Circle -7500403 true true 177 40 38 Circle -7500403 true true 177 132 38 Circle -7500403 true true 70 85 38 Circle -7500403 true true 130 25 38 Circle -7500403 true true 96 51 108 Circle -16777216 true false 113 68 74 Polygon -10899396 true false 189 233 219 188 249 173 279 188 234 218 Polygon -10899396 true false 180 255 150 210 105 210 75 240 135 240 house false 0 Rectangle -7500403 true true 45 120 255 285 Rectangle -16777216 true false 120 210 180 285 Polygon -7500403 true true 15 120 150 15 285 120 Line -16777216 false 30 120 270 120 leaf false 0 Polygon -7500403 true true 150 210 135 195 120 210 60 210 30 195 60 180 60 165 15 135 30 120 15 105 40 104 45 90 60 90 90 105 105 120 120 120 105 60 120 60 135 30 150 15 165 30 180 60 195 60 180 120 195 120 210 105 240 90 255 90 263 104 285 105 270 120 285 135 240 165 240 180 270 195 240 210 180 210 165 195 Polygon -7500403 true true 135 195 135 240 120 255 105 255 105 285 135 285 165 240 165 195 line true 0 Line -7500403 true 150 0 150 300 line half true 0 Line -7500403 true 150 0 150 150 pentagon false 0 Polygon -7500403 true true 150 15 15 120 60 285 240 285 285 120 person false 0 Circle -7500403 true true 110 5 80 Polygon -7500403 true true 105 90 120 195 90 285 105 300 135 300 150 225 165 300 195 300 210 285 180 195 195 90 Rectangle -7500403 true true 127 79 172 94 Polygon -7500403 true true 195 90 240 150 225 180 165 105 Polygon -7500403 true true 105 90 60 150 75 180 135 105 plant false 0 Rectangle -7500403 true true 135 90 165 300 Polygon -7500403 true true 135 255 90 210 45 195 75 255 135 285 Polygon -7500403 true true 165 255 210 210 255 195 225 255 165 285 Polygon -7500403 true true 135 180 90 135 45 120 75 180 135 210 Polygon -7500403 true true 165 180 165 210 225 180 255 120 210 135 Polygon -7500403 true true 135 105 90 60 45 45 75 105 135 135 Polygon -7500403 true true 165 105 165 135 225 105 255 45 210 60 Polygon -7500403 true true 135 90 120 45 150 15 180 45 165 90 sheep false 15 Circle -1 true true 203 65 88 Circle -1 true true 70 65 162 Circle -1 true true 150 105 120 Polygon -7500403 true false 218 120 240 165 255 165 278 120 Circle -7500403 true false 214 72 67 Rectangle -1 true true 164 223 179 298 Polygon -1 true true 45 285 30 285 30 240 15 195 45 210 Circle -1 true true 3 83 150 Rectangle -1 true true 65 221 80 296 Polygon -1 true true 195 285 210 285 210 240 240 210 195 210 Polygon -7500403 true false 276 85 285 105 302 99 294 83 Polygon -7500403 true false 219 85 210 105 193 99 201 83 square false 0 Rectangle -7500403 true true 30 30 270 270 square 2 false 0 Rectangle -7500403 true true 30 30 270 270 Rectangle -16777216 true false 60 60 240 240 star false 0 Polygon -7500403 true true 151 1 185 108 298 108 207 175 242 282 151 216 59 282 94 175 3 108 116 108 target false 0 Circle -7500403 true true 0 0 300 Circle -16777216 true false 30 30 240 Circle -7500403 true true 60 60 180 Circle -16777216 true false 90 90 120 Circle -7500403 true true 120 120 60 tree false 0 Circle -7500403 true true 118 3 94 Rectangle -6459832 true false 120 195 180 300 Circle -7500403 true true 65 21 108 Circle -7500403 true true 116 41 127 Circle -7500403 true true 45 90 120 Circle -7500403 true true 104 74 152 triangle false 0 Polygon -7500403 true true 150 30 15 255 285 255 triangle 2 false 0 Polygon -7500403 true true 150 30 15 255 285 255 Polygon -16777216 true false 151 99 225 223 75 224 truck false 0 Rectangle -7500403 true true 4 45 195 187 Polygon -7500403 true true 296 193 296 150 259 134 244 104 208 104 207 194 Rectangle -1 true false 195 60 195 105 Polygon -16777216 true false 238 112 252 141 219 141 218 112 Circle -16777216 true false 234 174 42 Rectangle -7500403 true true 181 185 214 194 Circle -16777216 true false 144 174 42 Circle -16777216 true false 24 174 42 Circle -7500403 false true 24 174 42 Circle -7500403 false true 144 174 42 Circle -7500403 false true 234 174 42 turtle true 0 Polygon -10899396 true false 215 204 240 233 246 254 228 266 215 252 193 210 Polygon -10899396 true false 195 90 225 75 245 75 260 89 269 108 261 124 240 105 225 105 210 105 Polygon -10899396 true false 105 90 75 75 55 75 40 89 31 108 39 124 60 105 75 105 90 105 Polygon -10899396 true false 132 85 134 64 107 51 108 17 150 2 192 18 192 52 169 65 172 87 Polygon -10899396 true false 85 204 60 233 54 254 72 266 85 252 107 210 Polygon -7500403 true true 119 75 179 75 209 101 224 135 220 225 175 261 128 261 81 224 74 135 88 99 wheel false 0 Circle -7500403 true true 3 3 294 Circle -16777216 true false 30 30 240 Line -7500403 true 150 285 150 15 Line -7500403 true 15 150 285 150 Circle -7500403 true true 120 120 60 Line -7500403 true 216 40 79 269 Line -7500403 true 40 84 269 221 Line -7500403 true 40 216 269 79 Line -7500403 true 84 40 221 269 wolf false 0 Polygon -16777216 true false 253 133 245 131 245 133 Polygon -7500403 true true 2 194 13 197 30 191 38 193 38 205 20 226 20 257 27 265 38 266 40 260 31 253 31 230 60 206 68 198 75 209 66 228 65 243 82 261 84 268 100 267 103 261 77 239 79 231 100 207 98 196 119 201 143 202 160 195 166 210 172 213 173 238 167 251 160 248 154 265 169 264 178 247 186 240 198 260 200 271 217 271 219 262 207 258 195 230 192 198 210 184 227 164 242 144 259 145 284 151 277 141 293 140 299 134 297 127 273 119 270 105 Polygon -7500403 true true -1 195 14 180 36 166 40 153 53 140 82 131 134 133 159 126 188 115 227 108 236 102 238 98 268 86 269 92 281 87 269 103 269 113 x false 0 Polygon -7500403 true true 270 75 225 30 30 225 75 270 Polygon -7500403 true true 30 75 75 30 270 225 225 270 @#$#@#$#@ NetLogo 5.0.4 @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ setup go count people = 0 count people people-got-away @#$#@#$#@ @#$#@#$#@ default 0.0 -0.2 0 1.0 0.0 0.0 1 1.0 0.0 0.2 0 1.0 0.0 link direction true 0 Line -7500403 true 150 150 90 180 Line -7500403 true 150 150 210 180 @#$#@#$#@ 0 @#$#@#$#@