paint

Criando um Paint interativo com Python Turtle

O módulo Turtle no Python é uma ferramenta incrível para aprender programação de forma divertida e visual. Com ele, conseguimos criar desde desenhos simples até jogos interativos.
Neste tutorial, vamos aprender a criar um Paint interativo com Turtle, onde você poderá:

  • Desenhar com o mouse.

  • Alterar a cor da caneta com o teclado.

  • Movimentar o cursor com as setas do teclado.

Exemplo Prático: Paint Interativo

Aqui está o jogo que usaremos como referência:

Passo 1: Importando o módulo Turtle

O primeiro passo é importar o módulo turtle, que já vem incluso no Python.

				
					from turtle import *

				
			

Passo 2: Função para desenhar com o mouse

Aqui criamos a função draw(). Sempre que arrastamos o mouse com o botão pressionado, a tartaruga (caneta) segue o cursor.

				
					# Função de desenho com o mouse
def draw(x, y):
    t.goto(x, y)

				
			

Explicação:

  • goto(x, y): leva a caneta até as coordenadas do cursor.

Passo 3: Função para mover a caneta com cliques

Se apenas clicarmos na tela, a caneta vai para aquele ponto e começa a desenhar a partir dali.

				
					# Mover a caneta para novo ponto (clique na tela)
def move(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()

				
			

Explicação:

  • penup(): levanta a caneta (não desenha).

  • pendown(): abaixa a caneta para continuar desenhando.

Passo 4: Funções para mudar a cor da caneta

Vamos permitir que o usuário troque a cor pressionando as teclas R, G e B.

				
					# Funções para mudar a cor com o teclado
def setRed():
    t.color('red')

def setGreen():
    t.color('green')

def setBlue():
    t.color('blue')

				
			

Explicação:

  • t.color('red'): altera a cor da caneta.

Passo 5: Funções para desenhar com as setas do teclado

Também podemos desenhar sem o mouse, apenas usando as setas do teclado.

				
					# Funções para desenhar com as setas
def up():
    t.goto(t.xcor(), t.ycor() + 5)

def down():
    t.goto(t.xcor(), t.ycor() - 5)

def left():
    t.goto(t.xcor() - 5, t.ycor())

def right():
    t.goto(t.xcor() + 5, t.ycor())

				
			

Explicação:

  • xcor() e ycor(): retornam as coordenadas atuais da caneta.

  • Alteramos apenas X ou Y em ±5 unidades.

Passo 6: Criando a função principal

Agora juntamos tudo dentro da função main().

				
					# Função principal
def main():
    global t, scr

    # Cria a caneta
    t = Turtle()
    t.shape("circle")
    t.color("blue")
    t.width(5)
    t.pendown()

    # Acessa a tela
    scr = t.getscreen()

    # Eventos de mouse
    t.ondrag(draw)
    scr.onscreenclick(move)

    # Eventos de teclado
    scr.listen()
    scr.onkey(setRed, 'r')
    scr.onkey(setGreen, 'g')
    scr.onkey(setBlue, 'b')
    scr.onkey(up, 'Up')
    scr.onkey(down, 'Down')
    scr.onkey(left, 'Left')
    scr.onkey(right, 'Right')

    # Mantém a janela aberta
    scr.mainloop()

				
			

Explicação:

  • ondrag(draw): desenha enquanto arrasta o mouse.

  • onscreenclick(move): move a caneta ao clicar.

  • onkey(função, tecla): executa a função ao pressionar a tecla.

  • mainloop(): mantém a janela aberta.

Passo 7: Executando o programa

Por fim, chamamos a função main() apenas se o arquivo for executado diretamente.

				
					if __name__ == '__main__':
    main()

				
			

Resultado Final

Ao rodar o código, você terá:

  • Uma caneta azul pronta para desenhar.

  • Arraste o mouse para desenhar livremente.

  • Clique na tela para mover a caneta.

  • Use R, G, B para trocar a cor.

  • Use as setas para desenhar sem o mouse.

Caso o Python ainda não esteja instalado em seu dispositivo, clique no botão abaixo para realizar a instalação.

Posts Similares

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *