# tu0240_quatre_tortues_dependantes.py ''' Dessine quatre tortues, chacune se dirige vers sa voisine de gauche ''' from turtle import * # défini la position et la taille de la fenêtre. setup(width=900, height=600, startx=10, starty=15) delay(0) # Pour régler la vitessse d'animation # Au lieu de la tortue de base, on crée une première tortue. tortue1 = Turtle(shape="turtle") # Autres : “arrow”, “turtle”, “circle”, “square”, “triangle”, “classic”. tortue1.speed(0) # Vitesse maximale de la tortue 1 tortue1.color("blue") tortue1.up(); tortue1.goto(-290, -290); tortue1.down() # tortue1 = turtles()[0] # Pour donner un nom à la première tortue est une autre manière de faire # turtles() retourne une liste de toutes les tortues. # Création d'une deuxième tortue tortue2 = Turtle(shape="turtle") tortue2.speed(0) # Vitesse maximale de la tortue 2 tortue2.color("red") tortue2.up(); tortue2.goto(290,-290); tortue2.down() # Création d'une troisième tortue tortue3 = Turtle(shape="turtle") tortue3.speed(0) # Vitesse maximale de la tortue 3 tortue3.color("green") tortue3.up(); tortue3.goto(290, 290); tortue3.down() # Création d'une quatrième tortue tortue4 = Turtle(shape="turtle") tortue4.speed(0) # Vitesse maximale de la tortue 4 tortue4.color("purple") tortue4.up(); tortue4.goto(-290, 290); tortue4.down() x1, y1 = tortue1.xcor(), tortue1.ycor() # Position de la première tortue x2, y2 = tortue2.xcor(), tortue2.ycor() # Position de la deuxième tortue # Chaque tortue avance vers sa voisine de gauche while (x1-x2)**2 + (y1-y2)**2 > 1: x1, y1 = tortue1.xcor(), tortue1.ycor() # Position de la première tortue tortue2.seth(tortue2.towards(x1, y1)) # La deuxième tortue s'oriente en direction de la première tortue2.forward(1) # La deuxième tortue avance x2, y2 = tortue2.xcor(), tortue2.ycor() # Position de la deuxième tortue tortue3.seth(tortue3.towards(x2, y2)) # La troisième tortue s'oriente en direction de la deuxième tortue3.forward(1) # La troisième tortue avance x3, y3 = tortue3.xcor(), tortue3.ycor() # Position de la troisième tortue tortue4.seth(tortue4.towards(x3, y3)) # La première tortue s'oriente en direction de la troisième tortue4.forward(1) # La quatrième tortue avance x4, y4 = tortue4.xcor(), tortue4.ycor() # Position de la quatrième tortue tortue1.seth(tortue1.towards(x4, y4)) # La première tortue s'oriente en direction de la quatrième tortue1.forward(1) # La première tortue avance #print(len(turtles())) # Pour information, indique le nombre de tortues.