Using Decisions with Turtles¶

Here’s an example of conditional execution (using an if statement) with a turtle. We can make the turtle do some action when a condition is true. In this example if the turtle gets to right side of the space (drawing area), pick it up and move it back to the left side of the space further down so that it can draw more.

This code calculates maxX as half the width since the drawing area uses the cartesian coordinate system with (0,0) as the center. Since the width is 400 the maxX is 200. We move the turtle to -1 * maxX which is -200. When the turtle’s x coordinate is greater than or equal to the maxX, which means it is at the right edge, then we move the turtle back to the left edge and down 100.

For more information on what this code does listen to the audio tour.

csp-14-2-1: What value should you use for range in line 17 in the program above (td_pattern) to complete the pattern to fill the drawing space?
• 12
• Using a range of 12 will complete the pattern on this line, but what should it be to finish the pattern in the space?
• 14
• This will stop in the middle of the last line of the pattern. How many would fill the last row?
• 16
• Each iteration of the loop draws one peak and there are 4 peaks per row. There is room for 4 rows so the answer is 4 * 4 = 16.
• 18
• This would try to draw on the line below the end of the drawing area.

Modify the code above to draw a different pattern. Try turning changing the direction of every turn, what does that do?

Note

Discuss topics in this section with classmates.