Course de tortues !

Introduction

Au cours de ce projet, tu utiliseras des boucles pour créer un jeu de courses de tortues et dessiner une piste de course.

Ressources en-ligne

Ce projet utilise Python 3. Nous recommandons l’utilisation de Trinket pour écrire du code Python en-ligne. Ce projet contient les Trinkets suivants:

Il y a aussi un Trinket contenant le projet complété:

Resources hors-ligne

Ce projet peut être complété hors-ligne (page en Anglais) si désiré. Vous pouvez accéder aux ressources du projet en cliquant sur le lien “Matériaux du projet”. Ce lien contient une section “Ressources du projet” qui inclus les ressources dont les enfants auront besoin pour compléter le projet hors-ligne. Assurez-vous que les enfants ont accès à une copie de ces ressources. Cette section inclus les fichiers suivants:

  • turtle-race/turtle-race.py

Vous pouvez aussi trouver une version complétée du projet dans la section “Ressources du bénévole” qui contient:

  • turtle-race-finished/turtle-race.py

(Toutes les ressources ci-dessus peuvent aussi être téléchargées dans les fichiers .zip projet et bénévole)

Objectifs d’apprentissage

  • Boucles for;
  • Nombres aléatoires avec random;
  • Graphismes Python turtle.

Ce projet couvre les éléments du fil suivant du Raspberry Pi Digital Making Curriculum (liens en Anglais):

Défis

  • Plus de lignes - changer le nombre de fois qu’une boucle se répète;
  • L’heure de la course! - ajouter des tortues, inclus l’ajout de code à l’intérieur d’une boucle;
  • Fais une pirouette - faire tourner les tortues sur elles mêmes au départ par l’ajout de nouvelles boucles for;
  • Lignes pointillées - changer les lignes continues en lignes pointillées, exige l’utilisation de boucles imbriquées.

Foire aux questions

  • Les enfants peuvent avoir besoin de se faire rappeler l’utilisation des deux points : à la fin d’une instruction for, ils sont faciles à oublier;
  • L’indentation incorrecte est un problème commun lors de l’écriture de boucles for;

Piste de course

Tu vas créer un jeu de course de tortues. Tout d’abord, elles auront besoin d’une piste de course.

  • Ouvre le modèle de Trinket Python: jumpto.cc/python-new.
  • Ajoute le code suivant pour dessiner une ligne en utilisant l’outil ‘turtle’ (tortue):

  • Maintenant, utilisons la tortue pour dessiner quelques marques pour la course.

    La fonction turtle write écrit du texte à l’écran.

    Essaie la:

  • Maintenant, tu dois entrer les nombres entre 0 et 5 pour créer les marques.

  • As-tu remarqué que ton code est très répétitif? La seule chose qui change est le nombre à écrire.

    Il y a une meilleure manière de faire ceci en Python. Tu peux utiliser une boucle for.

    Mets à jour ton code en utilisant une boucle for:

  • Hmm, ça n’écrit que les nombres jusqu’à 4. En Python, range(5) retourne cinque nombres, de 0 à 4. Pour aussi obtenir le 5, tu devras utiliser range(6):

  • Maintenant nous pouvons dessiner quelques marques sur la piste. La tortue débute aux coordonnées (0, 0), au centre de l’écran.

    Déplace la tortue en haut à gauche à la place:

  • Ah, tu voudras d’abord lever le crayon! (‘pen’ et ‘up’ = ‘penup’)

  • Au lieu de dessiner une ligne horizontale, dessinons des lignes verticales pour créer une piste:

    right(90) fait tourner la tortue de 90 degrés à droite (un angle droit). Le déplacement forward(10) avant de baisser le crayon (pendown()) laisse un petit espace entre le nombre et le début de la ligne. Après avoir tracé la ligne, tu dois lever le crayon puis reculer de la longueur de la ligne plus la longueur de l’espace avec la commande backward(160).

  • L’apparence est meilleure si tu centres les nombres:

  • Et tu peux accélérer la tortue pour qu’elle dessine plus rapidement:


Défi: Plus de lignes

Peux-tu modifier ton code pour que les lignes de la piste couvrent la largeur de l’écran?

Si tu veux que la tortue se déplace encore plus vite, tu peux utiliser speed(0)


La course de tortues

Maintenant voici la partie amusante. Ajoutons quelques tortues de course. Ce serait vraiment ennuyant si les tortues faisaient la même chose alors elles se déplaceront d’une distance aléatoire à chaque tour. La tortue gagnante est celle qui se rend le plus loin en 100 tours.

  • Lorsque tu utilises des commandes comme forward(20), tu utilises une tortue unique. Tu peux aussi créer plus de tortues. Ajoute le code suivant à la fin de ton script (assure toi qu’il est aligné complétement à gauche).
Produit ajouté avec succès à la comparaison des produits