Python Turtle: como criar uma corrida de tartarugas
Neste tutorial você vai aprender a usar o módulo Turtle do Python para criar um mini-jogo de corrida de tartarugas.
Ao final, teremos duas tartarugas (vermelha e azul) disputando uma corrida até uma linha de chegada quadriculada, com uma mensagem final indicando quem venceu.
Esse projeto é ideal para praticar lógica de programação, laços de repetição, funções e o uso de bibliotecas padrão do Python.
Exemplo Prático: Race Turtle
Aqui está o jogo que usaremos como referência:
Passo 1: Importando as bibliotecas necessárias
O módulo turtle já vem junto com o Python, e é ele que permite desenhar e animar elementos na tela.
Também vamos usar random
para sortear o avanço das tartarugas e time
para controlar a velocidade da corrida.
from turtle import *
from random import randint
from time import sleep
Passo 2: Definindo a linha de chegada
A corrida precisa de um ponto final. Vamos criar uma constante chamada finish
, que representa a coordenada X onde as tartarugas devem chegar.
# Posição final da linha de chegada
finish = 200
Passo 3: Desenhando a linha de chegada quadriculada
Agora vamos criar a função drawFinishLine()
.
Ela desenha duas colunas de quadrados, alternando preto e branco, para simular uma linha de chegada de corrida.
def drawFinishLine():
linha = Turtle()
linha.hideturtle()
linha.speed(0)
linha.penup()
square_size = 20
start_y = 100
colors = ['black', 'white']
# Duas colunas verticais
for col in range(2):
x = finish + col * square_size
y = start_y
for i in range(10):
linha.goto(x, y - i * square_size)
linha.fillcolor(colors[(col + i) % 2]) # alterna cor
linha.begin_fill()
for _ in range(4):
linha.pendown()
linha.forward(square_size)
linha.right(90)
linha.end_fill()
linha.penup()
Explicação:
hideturtle()
: esconde o cursor da tartaruga.fillcolor()
,begin_fill()
eend_fill()
: preenchem cada quadrado.O laço
for
desenha vários quadrados alternando as cores.
Passo 4: Criando uma função para posicionar as tartarugas
Vamos facilitar nosso código criando a função startRace()
, que recebe uma tartaruga e a posiciona no ponto de largada com a cor desejada.
def startRace(t, x, y, color):
t.color(color)
t.shape('turtle')
t.speed(100)
t.penup()
t.goto(x, y)
Explicação:
shape('turtle')
: define o formato do cursor como uma tartaruga.goto(x, y)
: leva a tartaruga para a posição inicial.
Passo 5: Criando a função principal do jogo
Agora vamos programar o coração da corrida. Dentro da função main()
vamos:
Desenhar a linha de chegada.
Criar as tartarugas competidoras.
Iniciar a corrida com movimentos aleatórios.
Mostrar quem venceu.
def main():
# Desenha linha de chegada
drawFinishLine()
# Cria as tartarugas
t1 = Turtle() # vermelha
t2 = Turtle() # azul
# Posiciona no ponto inicial
startRace(t1, -200, -20, 'red')
startRace(t2, -200, 20, 'blue')
# Pausa antes da largada
sleep(1)
# Loop da corrida
while t1.xcor() < finish and t2.xcor() < finish:
t1.forward(randint(10, 17)) # vermelho
t2.forward(randint(2, 7)) # azul
sleep(0.1)
# Limpa rastros
t1.clear()
t2.clear()
t1.hideturtle()
t2.hideturtle()
# Escreve o vencedor
mensagem = Turtle()
mensagem.hideturtle()
mensagem.penup()
mensagem.goto(-80, 0)
mensagem.color('green')
if t1.xcor() > t2.xcor():
mensagem.write("VERMELHA VENCEU!", font=('Arial', 24, 'bold'))
else:
mensagem.write("AZUL VENCEU!", font=('Arial', 24, 'bold'))
exitonclick()
Explicação:
xcor()
: retorna a posição X atual da tartaruga.O
while
mantém a corrida até uma delas cruzar a linha de chegada.Após a corrida, criamos uma terceira tartaruga (
mensagem
) só para exibir o texto.
Passo 6: Executando o programa
Por fim, chamamos a função main()
apenas se o arquivo for executado diretamente.
if __name__ == '__main__':
main()
Resultado Final
Ao executar o código, você verá:
Duas tartarugas (vermelha e azul) largando da esquerda.
Uma linha de chegada quadriculada à direita.
As tartarugas se movendo até que uma vença.
Uma mensagem em verde indicando o vencedor.
Caso o Python ainda não esteja instalado em seu dispositivo, clique no botão abaixo para realizar a instalação.