Exercise: Controlling the Eager Turtles

Here’s an animation using the turtle module:

Python
import random
import turtle

WIDTH, HEIGHT = 600, 600
screen = turtle.Screen()
screen.tracer(0)
screen.setup(WIDTH, HEIGHT)
screen.bgcolor("black")

def run_animation(n_turtles=100):
    SPEED = 1
    # Create turtles
    all_turtles = []
    for _ in range(n_turtles):
        the_turtle = turtle.Turtle()
        the_turtle.shape("turtle")
        the_turtle.color(
            random.random(),
            random.random(),
            random.random(),
        )
        the_turtle.penup()
        the_turtle.left(random.uniform(0, 360))
        all_turtles.append(the_turtle)

    # Move turtles with frame rate control
    for _ in range(500):
        for a_turtle in all_turtles:
            a_turtle.forward(SPEED)
            a_turtle.left(random.uniform(-10, 10))
        screen.update()

run_animation(10)
turtle.done()

Don’t worry if you’re not familiar with this module. This code first sets up the screen and then runs a simple animation within the run_animation() function.

This function creates a number of Turtle objects and displays them as turtle sprites on the screen. Each one has a random color and faces a random direction.

The final part of run_animation() moves each turtle forward and turns it by a random angle in each frame of the animation. There are 500 frames in this animation.

Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Already a member? Sign-In

Locked learning resources

The full lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Already a member? Sign-In

You must own this product to join the conversation.