Missions

Mission 1 - Premiers pas

Il faut aider Ropy à atteindre la case de l’objectif (à l’est de la station). Afin de visualiser le trajet, il faudra marquer toutes les cases.

Vous pouvez, par exemple, tester le code suivant:

   Exemple

1
2
3
4
5
6
7
rp_avancer()
rp_marquer()
rp_gauche()
rp_avancer()
rp_marquer()
rp_avancer()
rp_marquer()

Mission 2 - Ma première fonction

La case à atteindre est toujours la même (à l’est de la station).

Pour faciliter le codage, on va maintenant créer et utiliser la fonction "mrp_avancer()" regroupant avancer et marquer.

Important

Vos fonctions correspondent à votre boite à outils.

Autant le code de la partie commandes change entre chaque mission, autant il est impératif de garder vos fonctions à travers toutes les missions.

Mission 3 - Apprendre le danger

Le but de cette mission est de mettre en place l”anti-colision de Ropy.

Tout d’abords, nous allons constater que Ropy est sensible au obstacle (pente ou obstacle) en provoquant une collision avec la station.

On vous demande alors de sécuriser Ropy utilisant une structure conditionnelle avec de la détection d’obstacle de Ropy.

La mission sera validée si vous avez cherché à collisionner Ropy avec la station et que cette collision a été évitée par la détection d’obstable.

Mission 4 - Partir au bout du monde

Ropy est maintenant prêt pour l’aventure soit atteindre la case du nouvel objectif … loin, très loin.

Pour un tel voyage, l’utilisation d’une boucle définie va vous permetre d’avancer de plusieurs pas.

La notion de boucle indéfinie maintenant intégré, on vous demande de créer la fonction "mrp_avancer_nbpas(pas)" afin d’avoir une fonction pour avancer d’un nombre de pas défini.

Vous pouvez, par exemple, tester le code suivant:

   Exemple

1
2
for i un range(3):
   mrp_avancer()

Mission 5 - Faire face à l’inconnu

La case à atteindre est toujours la même, mais le lieu de départ change à chaque fois. Pour pallier à l'aléatoire, la piste est d’utiliser les pentes (par la détection d’obstacle) comme point de repère.

Tout d’abords, il vous propose de créer la fonction "mrp_avancer_mur()" qui permet d’avancer jusqu’à un obstacle. Cette fonction nécessitera une boucle indéfinie.

Cette fontion étant créée, le principe est de faire arriver Ropy à un pente puis ensuite à le faire touner et ainsi de suite. Comme si Ropy rebondissait sur des bandes.

Mission 6 - Se rendre utile

Nous sommes maintenant à la mission principale. Nous savons comment créer des fonctions et programmer les structures algorithmiques (alternative et itérative). Ropy est un rover géologue, et il y a justement une zône qui doit être explorée.

Nous souhaitons procéder à des carottages afin d’analyser la composition de la roche. Les lieux de forage (affichés ici en permanence) sont définis de manière aléatoire !). Pour les réaliser, Ropy devra donc passer sur toutes les cases de la zone.

Bonne chance !