Décisions

Tutoriel

Guido a la capacité de sonder le monde qui l'entoure et d'agir en conséquence. Il fait cela en utilisant l'instruction if <test>.
Le résultat du test peut être vrai ou faux. Par exemple :

if next_to_a_beeper:
    pickbeeper

fera ramasser la sonnette seulement si elle est là, rien sinon.

Comme pour l'instruction do: on pourra mettre plusieurs instructions derrière le 'if' si besoin-est, en utilisant LA MEME indentation :

if next_to_a_beeper:
		pickbeeper
		move

 

Voici quelques tests de Guido. Vous les retrouverez dans le poly de résumé des commandes de Guido.

front_is_clear Vrai si il n'y a pas de mur directement devant Guido. Faux si il y a un mur.
front_is_blocked Vrai s'il y a un mur devant Guido. Faux sinon.
next_to_a_beeper Vrai si Guido est sur une intersection comportant au moins une sonnette. Faux sinon.
not_next_to_a_beeper Vrai si l'intersection courante est vide; Faux si elle comporte au moins une sonnette.
any_beepers_in_beeper_bag Vrai s'il reste au moins une sonnette dans le sac de Guido. Faux si son sac est vide.
no_beepers_in_beeper_bag Vrai si le sac de Guido est vide. Faux s'il y reste au moins une sonnette.

À votre tour

Guido doit ramasser les sonnettes perdues dans de la deuxième rue. Ouvrez le monde 'deuxieme_rue.wld' :

Position de départ, étape 8

En utilisant 'do:' et des tests, faites parcourir la seconde rue à Guido, ramassant toutes les sonnettes qu'il trouve sur son passage. Souvenez-vous que s'il n'y a pas de sonnette à une intersection et que vous demandez à Guido d'en prendre une, il se plaindra et s'arrêtera. Utilisez l'un des tests de la table ci-dessus pour décider si une sonnette est à récupérer. Quand Guido atteint le mur (test), il doit ramener toutes les sonnettes à sa position de départ, s'orienter de nouveau vers l'est et s'éteindre.

Avec la position de départ ci-dessus, les choses devraient ressembler à cela à la fin :

Position finale, étape 8

lorsque le programme fonctionne, enregistrez-le dans vos documents sous le nom :'deuxieme_rue.gvr'

Appelez un professeur pour valider votre code


Précédent | Index | Suivant

Copyright © 2003 Roger Frank.