SuperLogo Challenge

Creating shapes with repeats and procedures

Drawing regular polygons with the repeat command (Year 6 Mathematics investigation)

It is possible to draw any regular polygon with one command line using repeat. For example, a square is :

repeat 4 [forward 50 right 90]

Can you draw a triangle with the repeat command? Can you draw a hexagon? Look for the relationship between:

  • the number of repeats;
  • the angle which the turtle turns at each corner.

Can you recreate these patterns?

All of them have been drawn in SuperLogo by writing a procedure to draw an initial shape and then another procedure to draw the pattern using that shape.

Here the initial shape is a procedure called SQUARE:

Here the initial shape is a procedure called DIAMOND:

Here the initial shape is a procedure called CIRCLE.

SuperLogo Challenge

Multiple turtles

Extend pattern making by creating and commanding additional turtles

The turtle that you always see on starting SuperLogo has the number 0. You can make additional turtles, one at a time:

maketurtle 1

maketurtle 2

maketurtle 3

Communicate with them using the “tell” command:

tell 1

st (showturtle)

setshape (brings up the chooser so that you can choose the shape)

Do the same for the other turtles.

This procedure clears the screen and gets the four turtles pointing in different directions:

to point

>cs

>tell 0 seth 0 (setheading 0)

>tell 1 seth 90

>tell 2 seth 180

>tell 3 seth 270

>tell all (next commands will affect all turtles)

>end

Decide what you want your turtles to do, for example, draw circles:

to circle

>repeat 360 [fd1 rt 1]

end

Try this:

point

repeat 10 [circle right 9]

  • Why “right 9”? What other combinations will draw a closed pattern?

Slinky springs - what can you vary?

There are many variations, all of which will draw interesting patterns. Try moving the turtle forward, instead of turning (change the command in the brackets). Now, try both turning and moving forward.

There are many variables in this project: the number of turtles, the directions in which they initially point, the shape they draw, etc. What are you going to change?

What mathematics is involved? How can you use this opportunity to extend children mathematically? For example, can pupils describe their patterns using mathematical language?

SuperLogo Challenge

Creating an animation with a background

To create an animated scene you need to draw a background and animate your turtle.

Drawing a background

Use the Windows drawing program Paint to draw a background. First you must set the size of the screen in Paint to the same dimensions as in SuperLogo.

In SuperLogo, click Options > Set Screens. Make a note of the screen Width and Height.

In Paint, click Image > Attributes.

Type in the Height and Width settings from the SuperLogo screen.

Make sure the Units are set to Pixels

Click OK and paint your background.

When you have finished, save the background in the SuperLogo screens folder :

C:/slogo/screen

Now you can load your screen into SuperLogo. Click File > Load Screen … and choose the background you created.

Animating your turtle

Now you need to write the program to make the turtle move on the screen.

You need to write two procedures, one called startup that sets the turtle in the correct position and one called main that contains all the movements the turtle will make. Make sure your startup procedure calls the main procedure as its last line.

Some helpful commands include:

setshape- allows you to change the picture that represents the turtle

penup- allows you to make the turtle move without drawing a line

setheading- allows you to point the turtle in a particular direction

hideturtle- makes the turtle invisible

showturtle- makes the turtle visible

playwave- allows you to choose a sound to accompany your animation

When you have finished these procedures you need to save your work as a Project.

Make sure you have selected the background screen you require. Click File > Save Project As…Give the project a name and then click the Options button.

Make sure you have ticked the Complete Project box, then click OK.

This will save the background and the turtle you have selected along with your procedures. The whole animated scene will automatically begin when the project is opened.

SuperLogo Challenge (advanced)

Random numbers

Design a series of probability experiments using random numbers

random 2 has two possible values: 0 and 1.

random 3 has three possible values: 0, 1 and 2.

1 is often added:

(random 2) + 1 will output the values 1 or 2.

Examples:

forward 10 * random 3

  • What are the possible outcomes?

repeat (random 4) + 1 [fd 30 rt 90]

  • What are the possible outcomes?

What are the odds?

This procedure to draw a square uses a variable. You have to name the variable – I’ve chosen the name side.

to newsquare :side

>repeat 4 [fd :side * 10 rt 90]

end

The colon has great significance – to the processor!Taken literally, :side means “the value stored in the memory location labelled side”. Yes, this is serious programming!

This procedure generates a random number and draws a square. Then it does exactly the same thing again, to draw a second square:

to picksquare

>repeat 2 [newsquare (random 2) + 1]

>end

What are the squares that picksquare can draw? Will it draw both?

The possible outcomes are:

1 –11-22-12-2

What is the probability that picksquare will draw both squares (small and large)?

This procedure repeats picksquare across the screen, 26 times. How many times do you think it will draw both squares?

to play2

>cs ht pu

>lt 90 fd 386 rt 90 pd

>repeat 26 [picksquare pu rt 90 fd 30 lt 90 pd]

>end

Type play2 repeatedly to see what happens.

Can you now change these procedures so that there are THREE possible outcomes? Again, work out the probability of all three squares being drawn and make predictions.