Dungeon of Bits
Aprendiendo informática.
Dungeon of Bits
Utilización del módulo Turtle de Python

En este tutorial usaremos el módulo Turtle de Python para dibujar formas.

usar módulo Turtle

Requisitos:

Para realizar esta práctica necesitamos un ordenador con Python instalado o un navegador.

Usar Python online:

Aunque se puede utilizar el ordenador local para la programación en Python, si no disponemos de un equipo con Python podemos utilizar un navegador y registrarnos en Replit.

El módulo Turtle:

Turtle es un módulo de Python que emula el comportamiento de las instrucciones de dibujo del lenguaje LOGO.

Estas instrucciones sirven para realizar dibujos de formas geométricas, círculos, etc...

1.-Importar el módulo Turtle:

Para utilizarlo simplemente debemos importarlo en python, para ello escribimos en Python

from turtle import *

2.-La ventana de dibujo:

Los dibujos que hagamos serán dentro de una ventana de dibujo definida por nosotros.

Para indicar el título de la ventana usaremos la instrucción title(), para indicar el tamaño de la ventana usaremos la instrucción setup().

Por ejemplo, para crear una ventana con título "Mi ventana", 300 puntos de anchura, 200 de altura y que comience el cursor en el centro de la pantalla (0,0), las instrucciones serían:

title("Mi ventana")
setup(300,200,0,0)

usar módulo Turtle

Podemos hacer el tamaño de ventana más grande incluso después de haber dibujado algo sin que se pierda el dibujo.

La ventana de dibujo siempre tendrá en el centro el punto x=0 y y=0, (0,0), tal como podemos ver en la siguiente imagen:

usar módulo Turtle

3.-Instruccions de Turtle:

Turtle tiene una serie de instrucciones para mover el cursor de dibujo por la pantalla.

El cursor puede tener diferentes formas, la más conocida por la que recibe su nombre el módulo es la de tortuga, es por eso que al cursor también lo llamaremos tortuga.

  • shape(f): Cambia la forma del cursor. f puede ser "arrow", "turtle", "circle", "square", "triangle" o "classic".
  • forward(d): Mueve el cursor hacia delante la distancia d.
  • backward(d): Mueve el cursor hacia atrás la distancia d.
  • right(a): Gira el cursor hacia la derecha a grados.
  • left(a): Gira el cursor hacia la izquierda a grados.
  • goto(x,y): Mueve al cursor a la posición x y y.
  • up(): Levanta el lápiz de dibujo, si el lápiz está levantado el cursor no dibujará cuando se mueva.
  • down(): Baja el lápiz de dibujo, por defecto el lápiz estará bajado. Cuando el lápiz está bajado y movamos el cursor, se dibujará el recorrido.
  • color(c): Cambiamos el color con el que el cursor pintará al color c.
  • dot(): Dibuja un punto en la posición donde está el cursor.
  • fillcolor(c): Cambia el color de relleno de polígonos al color f.
  • begin_fill(): Marca el punto inicial para rellenar un polígono de color.
  • end_fill(): Marca el punto final para rellenar un polígono con color.
  • circle(r,g): Dibuja un círculo de radio r, si se indica g dibujará g grados del círculo, si no se indica nada dibujará el círculo entero.
  • pensize(w): Cambia el grosor del lápiz a w puntos.

4.- Ejemplos:

  1. Línea recta: Haremos una línea recta que vaya del punto (0,0) al punto (100,100), podemos hacerlo así.
from turtle import *
title("Mi ventana")
setup(300,300,0,0)
goto(100,100)
hideturtle()

usar módulo Turtle

  1. Triángulo: Un triángulo se marca con tres puntos. Para hacer un triángulo equilátero de línea roja que vaya de (-100,0) a (100,0) y (0,100) haremos.
from turtle import *
title("Mi ventana")
setup(300,300,0,0)
up()
goto(-100,0)
down()
color("red")
goto(100,0)
goto(0,100)
goto(-100,0)

usar módulo Turtle

  1. Cuadrado: Un cuadrado lo obtenemos con cuatro puntos, por ejemplo haremos un cuadrado relleno azul con los vértices (-150,-150),(150,-150),(150,150) y (-150,150).
from turtle import *
title("Mi ventana")
setup(300,300,0,0)
up()
goto(-150,-150)
down()
color("blue")
begin_fill()
fillcolor("blue")
goto(150,-150)
goto(150,150)
goto(-150,150)
goto(-150,-150)
end_fill()

usar módulo Turtle

  1. Círculo: El círculo tendrá como centro una distancia del cursor r, la del radio, comenzando por la izquierda del cursor. Por ejemplo dibujaremos un círculo a la izquierda del cursor de radio r.
from turtle import *
title("Mi ventana")
setup(300,300,0,0)
circle(100)

usar módulo Turtle

Para cambiar el centro del círculo basta con girar el cursor.

from turtle import *
title("Mi ventana")
setup(300,300,0,0)
color("red")
circle(100)
color("blue")
left(90)
circle(100)
color("green")
left(90)
circle(100)
color("orange")
left(90)
circle(100)

usar módulo Turtle

  1. Figuras separadas: Para dibujar figuras separadas basta con hacer lo mismo que haríamos con un lápiz, levantar el lápiz del papel cuando no queremos dibujar y bajarlo cuando queremos hacerlo.
from turtle import *
title("Mi ventana")
setup(300,300,0,0)
up()
goto(-100,-100)
down()
circle(50)
up()
goto(100,-100)
down()
circle(50)
up()
goto(0,100)
down()
goto(0,-200)
goto(200,-200)
goto(200,100)
goto(-200,100)
goto(-200,-200)
goto(0,-200)

usar módulo Turtle


Creación de un bot para Telegram en Python para jugar a Heroquest - Parte 2.

Segunda parte de la creación de un bot para jugar a Heroquest por Telegram. Cómo controlar el mazo de cartas de tesoro.

Requisitos: Este tutorial es la segunda parte del Tutorial para crear un bot de Telegram para jugar a Heroquest. Las imagenes de HeroQuest deben estar en el mismo directorio que el script o se debe cambiar la ruta dentro del mismo script de Python. ¿Cómo funcionan las cartas de tesoro en Heroquest?: En Heroquest existe un mazo de cartas de tesoro. compuesta por estas 33 cartas: 6 cartas...

Leer más...
Creación de un bot para Telegram en Python para jugar a Heroquest - Parte 1.

Todos los pasos necesarios para crear un bot de Telegram utilizando Python.

Hacer un bot de Telegram en Python: En este tutorial verás todos los pasos necesarios para crear un bot de Telegram usando el lenguaje de programación Python. El objetivo del bot será realizar tiradas de dados, realizando tiradas aleatorias de dados de 6 caras. Después se ampliará la funcionalidad del bot haciendo que tiré dados del juego de mesa HeroQuest y gestione el mazo de cartas de tesoro del...

Leer más...