La tortue de python est un module qui permet d’initier les novices de la programmation à faire des programmes simples à comprendre. Et ce par la création « artistiques ». Nous avons vu dans des précédents articles comment commander la tortue et comment utiliser le module turtle pour faire de belles réalisations. Dans ce présent article je vais vous montrer comment manipuler les paramètres de la tortue afin de changer la couleur, la taille, les titres, … pour personnaliser les dessins.
Changer la couleur de l’écran
Pour changer la couleur de l’écran, il suffit d’utiliser la fonction suivante :
turtle.bgcolor("red")
On peut changer “red” par n’importe quelle autre couleur (il faut saisir le nom de la couleur en anglais). On obtient la figure suivante :
Voici quelques couleurs que l’on peut tester :
‘red’, ‘blue’, ‘magenta’, ‘green’, ‘purple’, ‘yellow’, ‘grey’, ‘black’, ‘pink’
On peut aussi utiliser le code hexadécimal des couleurs, voici une page qui détaille l’utilisation des couleurs.
Changer le titre de l’écran
Le titre de l’écran c’est ce qui est afficher tout en haut de l’écran, par défaut le titre est : «Python Turtle Graphics». Pour changer le titre de l’écran on utilise le code suivant :
turtle.title("Le nom de mon application turtle")
Et comme on peut le voir sur l’image suivante, le titre a changé sur l’écran d’affichage
Changer la taille de la tortue
Dans certains cas on a besoin de changer la taille de la tortue. Il est possible d’augmenter ou de diminuer la taille de la tortue pour la rendre plus grande ou plus petite. Pour ce faire on utilise la commande suivante :
t.shapesize(10,1,5)
Ce changement de taille n’affecte pas la taille du trait de traçage, qui marque le mouvement de la tortue. L’image suivante montre la forme de la tortue pour différents paramètres :
Et comme on peut le voir la fonction prend 3 paramètres, chacun agit sur la taille de la manière suivante :
- Premier paramètre modifie la taille verticalement
- Deuxième paramètre modifie la taille horizontalement
- Et le troisième paramètre modifie l’épaisseur du trait de la forme
Changer la taille du crayon
Comme dit précédemment, la commande shapesize() n’agit que sur la forme de la tortue, et n’affecte pas le trait de traçage, pour changer la taille du trait de traçage, il faut changer la taille du crayon. Et la commande qui permet de faire cela est : pensize(). Cette commande prend un seul argument entre les parenthèses. Cet argument correspond à l’épaisseur du trait de traçage.
t.forward(50)<br>
t.pensize(5)<br>
t.forward(50)<br>
t.pensize(15)<br>
t.forward(50)<br>
t.pensize(25)<br>
t.forward(50)
En exécutant le code ci-dessus on obtient le résultat suivant :
Le programme précédent permet de montrer comment grossir la taille du crayon. On peut constater que la taille initiale du crayon est égale à 1, d’abord on l’a multipliée par 5, ensuite par 15 et puis par 25.
Changer la forme de la tortue
Jusqu’à présent nous n’avons vu qu’une seule forme qui représente la tortue, la forme par défaut est un bout de flèche orienté vers la droite. Et cette forme ne représente pas vraiment une tortue. Cependant, il est possible d’utiliser d’autres formes, et la commande qui permet de faire ceci est : t.shape() en mettant entre les parenthèses la forme que l’on souhaite utiliser. Le tableau ci-dessous montre quelques formes prises en compte dans la bibliothèque turtle.
Toutefois, si on veut utiliser des formes plus personnelles, il est tout à fait possible. Pour plus de détails voir la documentation suivante.
Jouer avec les couleurs
Nous avons vu précédemment comment changer la couleur de l’écran (zone de traçage). Maintenant nous allons voir comment changer les couleurs de la tortue, à l’intérieur comme à l’extérieur, comment changer la couleur du trait de traçage et comment colorer l’intérieur d’une figure fermée.
Coloration de la tortue
t.shapesize(5,5,3)<br>
t.shape("turtle")<br>
t.fillcolor("red")<br>
t.pencolor("blue")<br>
turtle.done()
Le code ci-dessus montre comment changer la couleur de la tortue. En l’exécutant on obtient la figure suivante :
La première ligne du code permet de dimensionner la forme de la tortue, on a multiplié par 5 la longueur et largeur initiales, puis on a multiplié par 3 l’épaisseur du trait.
Dans la deuxième ligne, on a défini la forme donnée à la tortue.
Dans la troisième ligne, on a utilisé la fonction fillcolor(). Cette fonction permet de colorer l’intérieur de la tortue. En l’occurrence, la couleur rouge dans cet exemple.
Dans la quatrième ligne, on a utilisé la fonction pencolor(). Cette fonction permet de colorer le trait de contour de la tortue. En l’occurrence, la couleur bleue dans cet exemple.
Et la dernière ligne permet juste de dire au programme qu’on a fini la construction de la figure.
Dessinons maintenant une figure avec cette configuration de la tortue. Soit le code suivant qui permet de dessiner une figure fermée en forme de marches d’escalier :
t.lt(90)
t.forward(50)
t.lt(90)
t.forward(50)
t.rt(90)
t.forward(50)
t.lt(90)
t.forward(50)
t.rt(90)
t.forward(50)
t.lt(90)
t.forward(50)
t.lt(90)
t.forward(150)
t.home()
turtle.done()
En exécutant ce code, on obtient la figure suivante :
On constate donc que la figure est dessinée avec un trait bleu, et malgré le fait qu’elle soit fermée, le remplissage de l’intérieur de la figure n’a pas été effectué. On remarque aussi que le trait de construction de la tortue est plus épais que le trait de la figure.
Pour remplir l’intérieur d’une figure fermée, il est nécessaire de le spécifier dans le code. Et pour ce faire, on utilise les lignes de code suivantes :
t.begin_fill() à mettre avant le début de construction de la figure. Cette commande permet d’indiquer le début de remplissage
Et t.end_fill() à mettre à la fin de construction de la figure. Elle indique la fin de remplissage de la figure.
Coloration de la figure
Il est possible de changer à la fois la couleur du trait et la couleur du remplissage en utilisant une même fonction : t.color(‘’couleur1’’, ‘‘couleur2’’) avec :
- Couleur1 : couleur du crayon
- Couleur2 : couleur de remplissage de la figure fermée
t.shapesize(5,5,3)
t.shape("turtle")
t.color("blue", "red")t.begin_fill()
t.lt(90)
t.forward(50)
t.lt(90)
t.forward(50)
t.rt(90)
t.forward(50)
t.lt(90)
t.forward(50)
t.rt(90)
t.forward(50)
t.lt(90)
t.forward(50)
t.lt(90)
t.forward(150)
t.home()
t.end_fill()
turtle.done()