# tu0305_turtle_listes.py ''' Utilisation de listes pour avoir beaucoup de tortues. Dessine plusieurs tortues, en ligne, avances vers la droite ''' from turtle import * from time import sleep # pas important, juste pour mettre des pauses d'exécutions. # défini la position et la taille de la fenêtre. setup(width=900, height=600, startx=10, starty=15) delay(0) # Pour aller plus vite colormode(255) # mode de définition des couleurs nbTortues = 9 # Défini le nombre de tortues désirées listeTortues = [] # Défini une liste vide # Boucle de création de nouvelles tortues for nn in range(nbTortues): # va de 0 à nbTortues-1 tortueNouvelle = Turtle(shape="turtle") # Création d'une nouvelle tortue listeTortues.append(tortueNouvelle) # Ajoute dans la liste, une référence à la tortue. tortueNouvelle.speed(0) # Vitesse maximale de la tortue tortueNouvelle.color((255 - 255*nn // nbTortues, 0, 255*nn // nbTortues)) # défini la couleur, r, g, b # Positionne la tortue tortueNouvelle.up() tortueNouvelle.goto(-350, -150 + 30*nn) tortueNouvelle.down() # Pour changer des caractéristique de la première tortue. listeTortues[0].color("green") listeTortues[0].up(); listeTortues[0].goto(-350, -200); listeTortues[0].down() print("Nombre de tortues =", len(listeTortues)) # Boucle pour faire avancer les tortues for jj in range(0, 200): # Chaque tortue avance vers la droite for nn in range(0, nbTortues): listeTortues[nn].forward(1) # La tortue numéro nn avance # Autre manière de faire pour accéder à chaque tortue # Cela n'est pas utile, si on veut accéder à une tortue voisine. for uneTortue in listeTortues: uneTortue.left(45) sleep(0.3) uneTortue.forward(100) sleep(0.3)