Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- breed [cleaners cleaner]
- to step ;; один шаг моделирования
- if member? patch-here patches with [ dirt? ] ;; если текущий квадрат содержит пыль
- [
- suck
- ]
- if pcolor != red
- [
- if count patches with [pcolor = red] > 0
- [
- face min-one-of (patches with [pcolor = red]) [distance-nowrap myself]
- fd 1
- ]
- ]
- end
- patches-own [ dirt? ]
- to Setup
- clear-all
- ask patches
- [
- ifelse random-float 10 < 1
- [ set-dirt true ]
- [ set-dirt false ]
- ]
- create-cleaners 1
- [
- setxy min-pxcor min-pycor
- set heading 90
- set color green
- ]
- end
- to go
- if count patches with [pcolor = red] > 0
- [
- ask cleaners [ step ]
- tick
- ]
- end
- to set-dirt [ val? ]
- set dirt? val?
- ifelse val?
- [ set pcolor red ]
- [ set pcolor 2 + (pxcor mod 2) + (pycor mod 2) ]
- end
- to suck
- ask patch-here [ set-dirt false ]
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement