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 :

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

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.
Copyright © 2003 Roger Frank.