HomeTortue graphiqueGPanelRobotique WebTigerPython
 Python - Online
multipleTurtle
Deutsch   English   Français   

17. PLUSIEURS OBJETS TORTUE

 

 

TU APPRENDS ICI...

 

que tu peux créer plusieurs tortues dans un même programme et obtenir une première introduction à la programmation orientée objet.

 

 

EXEMPLES

  Exeample 1: Création de plusieurs tortues

Dans les exemples précédents, tu as utilisé une tortue globale, qui n'a pas besoin de nom et peut utiliser directement toutes les commandes de la bibliothèque gturtle. Si tu veux utiliser plusieurs tortues, tu dois attribuer un nom à chacune.

Avec l'instruction john = Turtle(), tu crées une tortue nommée john. Avec l'instruction lia = Turtle(), tu crées une tortue nommée lia. Pour contrôler une tortue nommée, tu dois toujours préciser son nom avant la commande, suivi d'un point. Exemplejohn.forward(50).  

Programme:

from gturtle import *

john = Turtle()
john.forward(50)
john.right(90)
john.forward(50)
lia = Turtle()
lia.setColor("red")
lia.setPenColor("red")
lia.back(50)
lia.left(90)
lia.forward(50)
► Copy to clipboard

 

Exemple 2: Deux tortues dessinent des étoiles
Les tortues peuvent également dessiner en alternance. Dans cet exemple, john et lia dessinent chacun une étoile.
 

Programme:

from gturtle import *

john = Turtle()
lia = Turtle()
john.left(90)
john.setPenColor("green")
lia.right(90)
lia.setPenColor("red")

repeat 9:
    john.forward(150)
    lia.forward(150)
    john.left(160)
    lia.right(160)
► Copy to clipboard

 

Exemple 3: Utilisation du nom de la tortue comme paramètre
Trois tortues dessinent des tours composées de petits carrés. On définit une fonction square(t) qui prend une tortue t en paramètre. En appelant square(joe) , joe dessine un carré. De même, square(luka) et square(mia) font dessiner un carré aux autres tortues.
 

Programme:

from gturtle import *

def square(t):
    repeat 4:
        t.forward(40)
        t.right(90)
    t.forward(40)    

joe = Turtle()
luka = Turtle()
mia = Turtle()
joe.setPenColor("red")
luka.setPenColor("green")
mia.setPenColor("blue")
joe.setPos(-100, -100)
luka.setPos(0,-100)
mia.setPos(100, -100)

repeat 5:
    square(joe)
    square(luka)
    square(mia)
► Copy to clipboard

 

Exemple 4: Création de tortues avec un clic de souris
À chaque clic de souris, une tortue est créée à la position du curseur et dessine une étoile. Avec le prochain clic, il faut attendre que l’étoile soit dessinée avant d’en créer une nouvelle. Pour dessiner une étoile, on utilise la fonction star(t), comme dans l’exemple 3. Chaque tortue est créée via la fonction de rappel onMousePressed(), qui est appelée lorsque la souris est cliquée.

 

Programme:

from gturtle import *

def onMousePressed(x, y):
    t = Turtle()
    t.setPos(x, y)
    star(t)

def star(t):
    t.setFillColor("red")
    t.startPath()
    repeat 4:
        t.forward(50)
        t.left(144)
    t.fillPath()

makeTurtle(mousePressed = onMousePressed)
hideTurtle()
► Copy to clipboard

 

 

REMARQUE...

 

Avec les instructions joe = Turtle(), luka = Turtle(), etc.,tu peux créer plusieurs tortues et les faire dessiner dans la même fenêtre graphique. Tu utilises pour cela des commandes de la bibliothèque gturtle, mais tu dois faire précéder chaque commande du nom de la tortue, séparé par un point.

Cette manière d'appeler les commandes est caractéristique de la programmation orientée objet (POO). Cette technique de programmation est utilisée dans certains langages de programmation professionnels comme Java ou C++.

 

 

À FAIRE PAR TOI-MÊME

 
1.

Deux tortues dessinent alternativement les segments d’une spirale. La première tortue trace en rouge et tourne de 90° vers la droite après chaque ligne. La deuxième tortue trace en vert et tourne de 90° vers la gauche après chaque ligne.

 


 

2.

Une tortue rouge et une tortue noire dessinent alternativement des carrés. La tortue rouge commence en bas. La tortue noire commence à droite.

 

 

 

3.

Deux tortues dessinent alternativement des carrés remplis.

 

 

 

 

 



4.

Les tortues sont créées en cliquant avec la souris. Chaque tortue avance d’une courte distance et dessine un cercle rempli (dot).