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.
- 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.
csp-14-2-2: 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?
Modify the code above to draw a different pattern. Try turning changing the direction of every turn, what does that do?