Et pour une brique de plus sur le mur

Tutoriel

Vous pouvez maintenant programmer Guido pour qu'il se balade, ramasse des sonnettes et en dépose partout dans son univers. Pour rendre cet univers plus intéressant, nous allons ajouter des murs dans le fichier monde, que Guido devra éviter. Si Guido rencontrait par inadvertance un mur lors de ses périples, il s'arrêterait immédiatement en provoquant une erreur et votre programme s'interromprait. Ce comportement est physiquement implémenté dans le robot. Si on lui demande d'exécuter une action qu'il ne peut effectuer, il s'éteint. Par exemple, si vous lui demandez de ramasser une sonnette à un endroit qui n'en comporte pas, il s'arrête de fonctionner. La même chose se produit avec put_beeper s'il n'a plus de sonnette dans son sac. Donc soyez prudent et évitez de demander à notre robot de foncer dans un mur !

Voici un exemple de fichier de description de monde comportant des murs :

Robot 1 5 E 1
Wall 2 4 N
Wall 2 4 E
Wall 3 4 E
Wall 4 4 N 2
Wall 2 5 N
Wall 2 6 E
Wall 3 6 E
Wall 4 5 N 2

Le format d'un descripteur de mur est :

1er nombre : avenue
2ème nombre : rue 
3ème nombre : intersection bloquée au (N)ord, (S)ud, (E)st, ou (W)est
4ème nombre : (optionnel) mongueur du mur (vers l'Est ou le Nord)

Avec ce fichier monde, l'affichage graphique de GVR ressemble à ceci :

Image 4a - étape 4

À votre tour

Modifiez le fichier monde de manière à ce que le chemin de Guido soit complètement fermé, comme indiqué dans le diagramme ci-dessous.

Image 4b - étape 4

La longueur par défaut d'un mur est un bloc, mais vous pouvez utiliser un quatrième paramètre optionnel pour rendre le mur aussi long que vous voulez. Le mur grandit toujours vers le Nord ou l'Est. Cela signifie qu'il y a deux moyens de décrire une section donnée de mur. La plus longue section de mur décrite ci-dessus aurait pu être décrite soit par Wall 3 7 N 4, soit par Wall 3 8 S 4.

Vous trouverez les choses beaucoup plus simple si vous dessinez d'abord le monde sur une feuille de papier sur laquelle vous indiquerez les intersections et les positions des murs.

Mettez le robot avec une sonnette au coin de la 1ère avenue et de la 5ème rue, regardant vers l'Est comme dans l'exemple ci-dessus. Votre programme devra le faire avancer de deux blocs, déposer sa sonnette, continuer d'avancer de trois blocs. Faisant face à un mur, il devra tourner à gauche, avancer de deux blocs vers le nord, puis de trois blocs vers l'ouest, puis deux blocs vers le sud jusqu'à l'endroit où il a laché sa sonnette. Il reprendra alors sa sonnette, descendra de deux blocs, déposera sa sonnette, avancera encore d'un bloc avant de s'arrêter définitivement.


Pour dessiner la grille de votre monde, voici une carte imprimable que vous pourriez trouver pratique.


Précédent | Index | Suivant

Copyright © 2003 Roger Frank.