Les leçons de Roger Frank
Introduction à l'informatique : module GvR

Guide de référence du monde Guido van Robot

Un fichier de monde Guido van Robot (avec l'extension .wld) définit l'environnement dans lequel Guido vit et se déplace. Il spécifie la disposition des rues et des avenues, les murs d'enceinte et les murs intérieurs, le placement des sonnettes, ainsi que la position de départ, l'orientation de Guido et le nombre de sonnettes dans son sac.

Système de coordonnées du monde

Le monde de Guido est une grille bidimensionnelle d'intersections appelées coins (ou croisements) :

Règles générales de syntaxe

Chaque ligne dans un fichier .wld spécifie un composant du monde de Guido.

L'instruction Robot

L'instruction Robot positionne Guido dans le monde, indique la direction vers laquelle il est orienté et définit le nombre initial de sonnettes dans son sac.

Robot <avenue> <rue> <direction> <sonnettes>

Paramètres :

Règles :

Exemples :

Robot 1 1 E 0    # Guido commence à la 1re Ave & 1re Rue, face à l'Est, avec 0 sonnette
Robot 4 3 N 0    # Guido commence à la 4e Ave & 3e Rue, face au Nord, avec 0 sonnette
Robot 1 5 E 4    # Guido commence à la 1re Ave & 5e Rue, face à l'Est, avec 4 sonnettes
Robot 1 2 N -1   # Guido commence à la 1re Ave & 2e Rue, face au Nord, avec une infinité de sonnettes

L'instruction Wall (Mur)

L'instruction Wall (ou Mur) place des murs intérieurs qui bloquent le passage de Guido. Si Guido tente d'avancer contre un mur, une erreur d'arrêt d'urgence survient et le programme se termine.

Wall <avenue> <rue> <direction> [<longueur>]

Paramètres :

Règles d'extension des murs :

Exemples :

Wall 2 4 N       # Mur horizontal de 1 bloc au nord du coin (2, 4)
Wall 2 4 E       # Mur vertical de 1 bloc à l'est du coin (2, 4)
Wall 4 4 N 2     # Mur horizontal de 2 blocs au nord de la 4e Rue, commençant à la 4e Ave et s'étendant vers l'Est
Wall 7 3 E 6     # Mur vertical de 6 blocs à l'est de la 7e Avenue, commençant à la 3e Rue et s'étendant vers le Nord

L'instruction Beepers (Sonnettes)

L'instruction Beepers (ou Sonnettes) place une ou plusieurs sonnettes à un coin spécifique dans le monde pour que Guido puisse les ramasser pendant l'exécution.

Beepers <avenue> <rue> <nombre_de_sonnettes>

Paramètres :

Exemples :

Beepers 4 4 1    # Place 1 sonnette au coin de la 4e Avenue et de la 4e Rue
Beepers 2 5 3    # Place 3 sonnettes au coin de la 2e Avenue et de la 5e Rue

Résumé des instructions du fichier monde


Instruction Syntaxe Description
Robot Robot <ave> <rue> <dir> <sonnettes> Définit le coin de départ de Guido, son orientation (N, S, E, W) et le nombre de sonnettes dans son sac. (Requis, exactement un)
Wall / Mur Wall <ave> <rue> <dir> [<longueur>] Place un mur de longueur ≥ 1 (1 par défaut) bloquant le déplacement dans la direction dir. S'étend vers l'Est (horizontal) ou le Nord (vertical).
Beepers / Sonnettes Beepers <ave> <rue> <nombre> Place nombre sonnettes au coin (ave, rue).

Exemple complet de fichier monde


Voici un exemple complet de fichier de définition de monde (labyrinthe.wld) :
# ==========================================
# Exemple de monde Guido van Robot
# ==========================================

# Placer Guido à la 1re Avenue et 5e Rue, orienté vers l'Est avec 1 sonnette
Robot 1 5 E 1

# Placer des sonnettes sur les coins
Beepers 3 5 1

# Définir les murs du labyrinthe
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

Référence du langage | Index | Leçon 1

Copyright © 2026 Stas Zytkiewicz, Jeffrey Elkner, Roger Frank.