Introducción al dibujo gráfico en Python con el módulo Turtle

Quinto dibujo

Finalmente un último experimento para añadir interactividad en tiempo real. Y es que nosotros podemos capturar por teclado un valor con el método textinput() de la tortuga y hacer que se mueva a nuestra voluntad a partir de varias condiciones:

def ordenar():

    orden = t.textinput("Orden requerida", 
                        "Movimientos: a w s d - Salir: e")
    
    if orden == "d":
        t.seth(0)
    elif orden == "w":
        t.seth(90)
    elif orden == "a":
        t.seth(180)
    elif orden == "s":
        t.seth(270)
    elif orden == "e":
        t.bye()  # cerramos la ventana
    else:
        return   # si no es una opción retornamos
        
    t.forward(50)


while True:
    ordenar()

t.done()
t.bye()

Al añadir interactividad somos nosotros quienes controlamos a la tortuga en tiempo real, hemos creado un videojuego sin saberlo! ¿Qué os parece?

Ahora imaginad que no tuviéramos que presionar constantemente enter al introducir nuestras órdenes. Para conseguirlo haremos lo siguiente:

import turtle as t

t.setup(500,500)

t.shape("turtle") 
t.color("green")

# Creamos funciones para cada acción
def derecha():
    t.seth(0)
    t.forward(20)
    
def izquierda():
    t.seth(180)
    t.forward(20)
    
def arriba():
    t.seth(90)
    t.forward(20)
    
def abajo():
    t.seth(270)
    t.forward(20)
    
def salir():
    t.bye()

# Enlazamos cada función a una tecla
t.onkey(arriba, "w")
t.onkey(izquierda, "a")
t.onkey(derecha, "d")
t.onkey(abajo, "s")
t.onkey(salir, "e")
    
# Hacemos que tortuga esté atenta al teclado
t.listen()

t.done()
t.bye()

Conclusión

Durante estos pequeños experimentos he podido entender el gran potencial pedagógico que tiene el módulo de la tortuga.

Se trata de una herramienta educativa que combinada con Python puede ofrecer infinitas posibilidades de aprendizaje para entender de forma visual qué hace la programación más allá del código.

Incluso puede ser una buena forma de introducirse en la programación de videojuegos.

Sea como sea este módulo me ha recordado cuando en mi infancia dibujaba con un juguete llamado Telesketch, y no sé porque me da la sensación de que debió inspirar a los creadores de la tortuga para hacer algo parecido a través de una computadora.

Bibliografía