# Look Ahead Example

### 1 collaborator

Uri Wilensky (Author)

### Tags

code example

Tagged by Reuven M. Lerner over 9 years ago

Model group CCL | Visible to everyone | Changeable by group members (CCL)
Model was written in NetLogo 5.0.4 • Viewed 537 times • Downloaded 44 times • Run 0 times

## Comments and Questions

Click to Run Model

```;;  This procedure sets up the patches and turtles

to setup
;;  Clear everything.
clear-all

;;  This will create a "checkerboard" of blue patches.  Every third patch will be
;;  blue (remember modulo gives you the remainder of a division).
ask patches with [pxcor mod 3 = 0 and
pycor mod 3 = 0]
[ set pcolor blue ]

;;  This will make the outermost patches blue.  This is to prevent the turtles
;;  from wrapping around the world.  Notice it uses the number of neighbor patches rather than
;;  a location. This is better because it will allow you to change the behavior of the turtles
;; by changing the shape of the world (and it is less mistake-prone)
ask patches with [count neighbors != 8]
[ set pcolor blue ]

;;  This will create turtles on 200 randomly chosen
;;  black patches.
ask n-of 200 (patches with [pcolor = black])
[
sprout 1
[ set color red ]
]
reset-ticks
end

;;  This procedure makes the turtles move

to go
[
;;  This important conditional determines if they are about to walk into a blue
;;  patch.  It lets us make a decision about what to do BEFORE the turtle walks
;;  into a blue patch.  This is a good way to simulate a wall or barrier that turtles
;;  cannot move onto.  Notice that we don't use any information on the turtle's
;;  heading or position.  Remember, patch-ahead 1 is the patch the turtle would be on
;;  if it moved forward 1 in its current heading.
ifelse [pcolor] of patch-ahead 1 = blue
[ lt random-float 360 ]   ;; We see a blue patch in front of us. Turn a random amount.
[ fd 1 ]                  ;; Otherwise, it is safe to move forward.
]
tick
end

; Public Domain:
; To the extent possible under law, Uri Wilensky has waived all
; copyright and related or neighboring rights to this model.
```

There are 10 versions of this model.

Uri Wilensky over 9 years ago Updated to NetLogo 5.0.4 Download this version
Uri Wilensky almost 10 years ago Updated version tag Download this version
Uri Wilensky over 10 years ago Updated to NetLogo 5.0 Download this version
Uri Wilensky about 12 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 12 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 12 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 12 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 12 years ago Model from NetLogo distribution Download this version