La tarea aquí es hacer un diseño de tablero de Tic Tac Toe usando Turtle Graphics en Python. Para eso, primero sepamos qué es Turtle Graphics.
Gráficos de Turtle
En gráficos por computadora, los gráficos de Turtle son gráficos vectoriales que utilizan un cursor relativo sobre un plano cartesiano. Turtle es una característica similar a un tablero de dibujo que nos permite comandar una Turtle y dibujar usándola.
Características de los gráficos de Turtle:
- hacia atrás (longitud): mueve el lápiz hacia atrás x unidad.
- derecho (ángulo): gire el lápiz en el sentido de las agujas del reloj en un ángulo x.
- izquierda (ángulo): gire el lápiz en sentido contrario a las agujas del reloj en un ángulo x.
- penup(): deja de dibujar la pluma de Turtle.
- pendown(): comienza a dibujar la pluma de la Turtle.
Acercarse
- importar los módulos de Turtle.
import turtle
- Consigue una pantalla para dibujar.
ws = turtle.Screen()
La pantalla se verá así.
- Defina una instancia para Turtle.
- Aquí, configuré manualmente la velocidad de la Turtle en 2.
- Para dibujar un tablero de Tic Tac Toe primero tenemos que hacer un cuadrado exterior.
- Luego haremos líneas internas del cuadrado que finalmente formarán el tablero.
- Para las líneas internas, había usado el método penup(), goto() y pendown() para levantar el lápiz y luego bajarlo en ciertas coordenadas.
- Las líneas internas formarán perfectamente el tablero Tic Tac Toe .
A continuación se muestra la implementación del enfoque anterior:
Python3
import turtle # getting a Screen to work on ws=turtle.Screen() # Defining Turtle instance t=turtle.Turtle() # setting up turtle color to green t.color("Green") # Setting Up width to 2 t.width("2") # Setting up speed to 2 t.speed(2) # Loop for making outside square of # length 300 for i in range(4): t.forward(300) t.left(90) # code for inner lines of the square t.penup() t.goto(0,100) t.pendown() t.forward(300) t.penup() t.goto(0,200) t.pendown() t.forward(300) t.penup() t.goto(100,0) t.pendown() t.left(90) t.forward(300) t.penup() t.goto(200,0) t.pendown() t.forward(300)
Producción: