Durée : 1 heure
Objectifs : Contrôler une tortue avec le clavier et créer un mini-jeu où elle atteint une cible.
Outil : Thonny (comme pour "Le Carré Danseur").
Après avoir fait danser un carré, vous allez programmer une tortue aventurière qui bouge avec les flèches du clavier et doit atteindre un trésor. Prêts pour le défi ?
Ouvrez Thonny, créez un nouveau fichier et commencez avec ce code de base :
import turtle # Créer la tortue aventurière t = turtle.Turtle() t.shape("turtle") # Elle ressemble à une tortue t.speed(3) # Vitesse modérée screen = turtle.Screen() screen.listen() # Écoute les touches du clavier turtle.done()
Testez ce code : Une tortue apparaît, mais elle ne bouge pas encore. À vous de la faire bouger !
Votre mission est de créer des fonctions pour déplacer la tortue avec les flèches du clavier :
Exemple : Voici comment coder aller_haut()
et l’associer à la flèche haut :
def aller_haut(): t.setheading(90) # Oriente vers le haut t.forward(20) # Avance de 20 unités screen.onkey(aller_haut, "Up") # Associe à la flèche haut
Votre tâche : Créez les fonctions aller_bas()
, aller_gauche()
et aller_droite()
en suivant cet exemple, et associez-les aux touches "Down", "Left" et "Right".
Indices :
t.setheading(angle)
avec : 270 (bas), 180 (gauche), 0 (droite).t.forward(20)
pour avancer.screen.onkey(nom_fonction, "Touche")
.Test : Essayez les flèches. La tortue bouge-t-elle dans toutes les directions ?
Maintenant, ajoutons un trésor que la tortue doit atteindre :
t.speed(3)
pour créer un cercle rouge (le trésor) à une position fixe, par exemple (100, 50) :
cible = turtle.Turtle() cible.shape("circle") cible.color("red") cible.penup() # Ne laisse pas de trace cible.goto(100, 50) # Position de la cible
verifier_victoire()
qui :
t.distance(cible)
. Si elle est inférieure à 20, c’est gagné !t.write("Gagné !", font=("Arial", 16, "bold"))
.verifier_victoire()
dans chaque fonction de déplacement (après t.forward(20)
).Test : Déplacez la tortue vers la cible. Que se passe-t-il quand elle l’atteint ?
Rendez votre jeu unique avec ces idées :
cible.goto(-50, 100)
).t.distance()
).screen.ontimer()
).Créez votre programme dans Thonny, testez-le et montrez votre tortue aventurière à vos camarades. Qui atteindra la cible en premier ? Quand vous aurez fini, soumettez votre code via le Google Form avec 3 lignes de commentaires expliquant vos choix.
Bon courage, aventuriers du code ! - 2025 O. Couvercelle