Let’s learn the basic building blocks that all programming uses.
Variables: Things That Can Change¶
Variables store information that can change over time.¶
Examples in real life:
Your age (changes every year)
Your bank account balance (goes up and down)
Your location (changes as you move)
Examples in NetLogo:
age- how old is this turtle?wealth- how much money does this turtle have?xcor- what is the turtle’s x-coordinate?color- what color is this turtle?
Think of Variables as Labels¶
Imagine each turtle wearing name tags:
Commands: Actions Agents Can Take¶
Commands tell agents what to do.
Basic movement commands¶
forward 1- move forward 1 stepright 90- turn right 90 degreesleft 45- turn left 45 degrees
Property change commands¶
set color red- change color to redset size 2- make turtle biggerdie- remove this turtle from the world
Social commands:¶
create-link-with turtle 5- form connection with turtle #5ask neighbors- give instructions to nearby turtles
Reporters: Questions Agents Can Answer¶
Reporters ask questions and get answers.¶
About myself:
who- what is my ID number?xcor- what is my x-coordinate?count my-links- how many connections do I have?
About others:
count turtles- how many turtles exist?count neighbors- how many turtles are near me?mean [wealth] of turtles- what’s the average wealth?
About the environment:
pcolor- what color is the patch I’m on?patches in-radius 3- which patches are within 3 units?
Procedures: Grouping Instructions Together¶
Procedures are like recipes - they group related instructions.
to move-randomly
right random 360 ; turn a random amount
forward 1 ; move forward 1 step
endSimple Procedure Example
This procedure called move-randomly does two things:
Turn a random direction (0-360 degrees)
Move forward 1 step
Now you can just say move-randomly instead of repeating those two lines!
Why use procedures?¶
Organize related instructions
Avoid repeating the same code
Make code easier to read and understand
Break complex tasks into smaller pieces