# tu0110_turtle_debut.py ''' Premiers essais du module turtle. ''' from turtle import * # défini la position et la taille de la fenêtre. setup(width=900, height=950, startx=10, starty=15) speed(0) # vitesse maximale de dessin delay(0) # Augmente encore plus la vitesse # ----- Turtle 1.1 ----- forward(120) left(90) color("red") forward(80) # ----- Turtle 1.2 ----- color("blue") forward(180) left(90) forward(180) left(90) forward(180) left(90) forward(180) left(90) # ----- Turtle 1.3 ----- def carre(long, coul=None): #============================= '''Dessine un carré de "long" pixels de côté et de couleur "coul".''' if (coul != None): color(coul) for nn in range(4): forward(long) left(90) right(135); forward(5); left(135) # Se positionne un peu plus loin carre(220, "violet") def triangle(long, coul=None): #================================ '''Dessine un triangle de "long" pixels de côté et de couleur "coul".''' if (coul != None): color(coul) for nn in range(3): forward(long) left(120) triangle(200, "Brown") # Pour les couleurs, c.f. : https://ecsdtech.com/8-pages/121-python-turtle-colors def pentagone(long, coul=None): #================================ '''Dessine un pentagone de "long" pixels de côté et de couleur "coul".''' if (coul != None): color(coul) for nn in range(5): forward(long) left(360/5) pentagone(280, "green") # Test le remplissage d'une figure. colormode(255) color((255,0,64)) fillcolor((50,0,200)) width(5) begin_fill() triangle(100) end_fill() # print(fillcolor()) # ----- Turtle 1.4 ----- def polygone(nbcotes, long, coul=None): #====================================== '''Dessine un polygone de "long" pixels de côté et de couleur "coul".''' if (coul != None): color(coul) for nn in range(nbcotes): forward(long) left(360 / nbcotes) up() # Se positionne un peu plus loin seth(-120) forward(100) down() seth(0) polygone(6, 240, "magenta") # Pour tester la commande "tracer(0,0)" def spirale(): #============= '''Trace une spirale, pour tester la commande tracer(0, 0)''' # Ne fonctionne que si la fenêtre est ouverte. tracer(0, 0) # Ne trace rien en temps réel pix = 0.5 for nn in range(10000): forward(pix) left(1) pix *= 1.0002 update() # affiche le résultat du dessin # Pour des essais de détection de fenêtre ouverte ou non ##wn = Screen() ##canvas = wn.getcanvas() # or, equivalently: turtle.getcanvas() ##root = canvas.winfo_toplevel() ## ##def on_close(): ## global running ## running = False ## print("closing") ## root.destroy() ## ##root.protocol("WM_DELETE_WINDOW", on_close) ## ##running = True