Buffalo Creek Middle School
 

Common MSW Logo Commands

Pen and Color | Move | Turtle | Program | Mathematics and Variables | Program Flow

 |Mouse

Pen and Color Commands

PU

Short for "pen up," it lifts the "pen" from the screen so that moving the turtle doesn't draw a line.

Example: PU

PD

Puts the pen down so that moving the turtle draws a line

Example: PD

SetPenSize [n n]

Sets the width of the pen to n pixels. Note that it is necessary to put in two numbers.

Example: SetPenSize [5 5]

SetPC [r g b]

Sets the pen color to the appropriate RGB (Red, Green, Blue) values, where r, g, and b are numbers that range from 0 to 255. (Non-integers are rounded.)

Example: SetPC [255 0 0] (Gives red)

Penerase

Sets the pen to down and sets the mode to erase. When the pen is moved, it will erase whatever is under it. An abbreviation is pe.

Example: Penerase  or  pe

Pennormal

Sets the pen back to normal mode and cancels erase mode.

Example: Penerase

setfloodcolor [r g b]

Sets the flood color  to the appropriate RGB (Red, Green, Blue) values, where r, g, and b are numbers that range from 0 to 255. (Non-integers are rounded.)

Example: setfloodcolor [255 0 255] (Gives magenta)

fill

Floods the area bounded by lines with whatever color was specified in the setfloodcolor command.

Move (drawing) commands

FD x

Move forward x pixels

Example: FD 100

BK x

Move Backward x pixels

Example: BK 100

LT x

Rotate the turtle x degrees left

Example: LT 45

RT x

Rotate the turtle x degrees right.

Example: RT 45

ARC a r

Draw an arc with an included angle of a degrees and radius of r. However, the turtle remains at the center of the arc.

Example: ARC 45 100

ARC2 a r

Draw an arc with an included angle of a degrees and radius of r. However, the turtle ends up at the end of the arc.

Example: ARC 45 100

Turtle and Position Commands

ST

Shows the current turtle.

Example: ST

HT

Hides the current turtle.

Example: HT

Orientation 

Returns a three member list with the orientation of the turtle. In two dimensions, we are only concerned with the last element in the list. You can either assign the list to a variable, or get a value from the list.

Example: Orientation

Make "startangle LAST Orientation (Assigns the value of the turtle's x position to the variable startangle)

Pos 

Returns a two member list with the x and y position of the turtle. You can either assign the list to a variable, or get a value from the list.

Example: POS

Make "xstartposition FIRST POS (Assigns the value of the turtle's x position to the variable xstartposition)

setorientation [roll pitch heading]

Uses a three element list to set the position of the turtle. In two dimensions, we are only concerned with the heading element in the list but all three elements are needed.

Example: setorientation [0 0 90] Leaves the turtle pointing 90 degrees from straight up; 

setpos [x y]

Sets the absolute x and   position of the turtle. If the pen is down, it will draw a line from it's previous position.

Example: setpos [100 90] Sets the turtle x=100 and y=90. 

SetTurtle n

Changes to turtle n with the first turtle being turtle 0 and the last being turtle 1023. Note that it creates all of the turtles between 0 and the one specified, so SetTurtle 100 will create turtles 1-99 if they have not yet been created.

Example: SetTurtle n

SetTurtle n

Changes to turtle n with the first turtle being turtle 0 and the last being turtle 1023. Note that it creates all of the turtles between 0 and the one specified, so SetTurtle 100 will create turtles 1-99 if they have not yet been created.

Example: SetTurtle n

Program Commands

To name arg1 arg2 ....

Starts a procedure, called name, that takes optional arguments arg1 arg2 .....

Examples: To Square

          To rpolygon :numsides :sidelength :numrepeats

End

Marks the end of a procedure and is required.

Example: End

 

CS

An abbreviation for clear screen, it clears the screen and returns the mouse to it's home position.

Example: End

 

Repeat n [ instruction list]

Repeats the actions listed in the instruction list an n number of times.

Examples: Repeat n [ fd 10 lt 90 square ] or

          Repeat :numrepeat [ fd 10 polygon :angle :sidelength ]

Show

Shows in the commander whatever you ask. It can be a value or an instruction list.

Wait n

Pauses for the specified amount of time, measured in 1/60 seconds, before executing the next command. So, if n is 60, the program will pause for 1 second.

Example: Random 30

Mathematics and Variables Commands

Random n

Returns an integer random number that ranges from 0 to just less than n. For example, if n is 10, the random numbers will be 0, 1, 2, 3, 4, 5, 6, 7, 8, or 9.

Example: Random n

Make "name x

Assigns the value x to the string name. Notice the double quotes in front of name? Those are necessary to tell Logo that name is a string. However once you have defined name as a variable you may reference that variable by using the colon before name, i.e. :name

Examples: Make "side 15.5

    Make "halfside :side/2

Program Flow Commands

FOR [i start stop step] [Instruction List]

This is the classic For-Next loop. The first word, i, is a variable the holds the current value of the counter. Traditionally, it is i but it can be any variable. You can get the value of the counter just by referring to the variable. The other three words tell where to start, where to stop, and what the step should be. The step is optional and will be set to 1 or -1 if omitted. The instruction list is the list of instructions that will be repeated whenever the loop executes.

Examples: FOR [i 0 :angle ] [square rt 1 wait 1] This will execute the procedure square and turn right one degree each time it through the loop. The loop stops once the value of the variable :angle is reached.
     
FOR [counter 0 15 4 ] [show :counter] Try it and see.

 

Other commands that help you control program flow are: do.while, If, Ifelse Look these up in the help file for the program.

Mouse Commands

Read the information on mouseon and mouseoff in the program's help file.