Votre premier programme avec le serpent

Étudiez le programme ci-dessous (essayez de deviner ce qu'il va faire) et copiez-le dans TigerJython puis exécutez-le sur l'Oxocard ou dans le simulateur.

Programme à étudier

Étudiez le code ci-dessous puis répondez aux questions AVANT d'exécuter le code !!! Pour télécharger et exécuter le programme sur l'Oxocard, cliquez sur le bouton noir (Télécharger/Exécuter) dans la barre des tâches.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/4261b8cb-3e80-4a5c-85cc-03463d7b71a2/Untitled.png

from oxosnake import * 

makeSnake()

forward()
forward()
right(90)
forward(2)

Questions à propos du code

  1. Que signifient les mots anglais forward et right utilisés dans le programme? Essayez de deviner l'effet que ces commandes produisent sur le serpent.
  2. Le bon programmeur est celui qui voit les détails ! Avez-vous vu le 90 dans right(90) ? À votre avis, que signifie ce paramètre ? Exécutez le code en mettant 45 puis 135 ou 180 à la place de 90. Comment le serpent se comporte-t-il ?
  3. Essayez encore d'autres valeurs un peu plus farfelues pour l'angle de rotation ! Est-ce que tous les angles sont possibles ou y a-t-il des angles qui créent des problèmes ? Si vous manquez d'imagination, essayez des angles négatifs, par exemple -90° ou des nombres qui ne sont pas entiers, par exemple 35.24°. Vous pouvez aussi essayer des angles supérieurs à 360°, pourquoi pas 2542° ?
  4. Vous constatez que l'on peut modifier le comportement de la commande right en ajoutant un nombre entre parenthèses. Essayez de faire de même pour la commande forward ... Que constatez-vous ? Quelle est la signification du paramètre de forward ?
  5. À quoi peut bien servir l'instruction import au tout début du programme? Le programme fonctionne-t-il encore si on supprimer cette ligne ?
  6. Supprimez la première ligne import oxosnake et exécutez à nouveau le programme ! Quel message d'erreur Python affiche-t-il ?

Diminuer la luminosité des LEDs

Peut-être que les LEDs brillent trop fort. On peut dans ce cas atténuer leur intensité en fournissant un paramètre dim lors de l'appel de la commande makeSnake. Essayez de modifier le programme en remplaçant la ligne appropriée par

makeSnake(dim=20)

Cela a pour effet de diminuer d'un facteur 20 l'intensité lumineuse des LEDs.

Commentaires

Python, comme tous les langages de programmation, permet de rajouter des commentaires dans le code, à savoir du texte qui sera complètement ignoré par Python mais que l'on écrit uniquement pour nous-mêmes et les personnes qui liront nos programmes. Il y a essentiellement deux types de commentaires : ceux qui se limitent à une seule ligne et ceux qui s'étendent sur plusieurs lignes.