Guido souhaite à nouveau explorer son univers. La dernière fois, il ramassait des sonnettes aux coins de son monde pour savoir quand il devait tourner. Il savait d'autre part le nombre de pas nécessaire pour terminer son voyage. Cette fois ci il devra compter sur sa capacité à détecter les murs autour de lui pour décider quand tourner.
Puisque cette fois il ne connaîtra pas la taille de son univers à l'avance, il ne saura pas combien de pas effectuer avant d'être de retour à son point de départ. Pour résoudre ce problème, il déposera une sonnette à son point de départ. Sachant qu'il n'y a pas d'autres sonnettes dans son univers, il continuera son voyage jusqu'à rentrer chez lui, ce dont il se rendra compte quand il retrouvera sa sonnette.
Guido démarre face à l'est dans le coin le coin inférieur gauche d'un monde
rectangulaire et borné, avec une sonnette dans son sac. Le monde est de taille inconnue - votre choix. Il commence son voyage et continue jusqu'à rentrer à la
maison. Utilisez une boucle while (recherchant la sonnette laissée
à son poitn de départ) et une conditionnelle if...else lui
permettant de se diriger. Remarque : Guido ne peut pas utiliser une boucle
do, puisqu'il ne connaît pas les dimensions du monde.
Le monde de Guido est devenu un peu plus intéressant. Ce n'est plus un simple rectangle, Guido vit maintenant dans un polygone. Si vous n'avez pas encore complété votre cours de géométrie, un polygone est une figure géométrique fermée constituée de segments mis bout-à-bout. Le monde polygonal de Guido ressemble un peu à ceci:

Votre mission consiste à faire parcourir son univers polygonal à Guido. Il devrait de nouveau déposer une sonnette à son point de départ, puis longer les bords de son monde jusqu'à rencontrer de nouveau sa sonnette. Rester le long des murs cette fois-ci sera plus difficile, c'est là le challenge.
Copyright © 2003 Roger Frank.