1. Problème
On cherche à simuler le déplacement d'un robot dans un labyrinthe. Ce robot est identifié par
sa position en x et y, et sa direction courante (à choisir parmi les quatre suivantes :
← ↑ → ↓. Pour sortir du labyrinthe, le robot mettra en oeuvre, à chaque étape de
son déplacement, l'algorithme ci-dessous :
2. Tant qu'il y a un mur dans la direction testée, tourner d'un quart de tour à droite.
2. Programmation
Le but principal du TP étant de vous faire écrire des fonctions, votre programme devra
comporter les fonctions dont les prototypes sont les suivants1 :
Comme vous pouvez le voir, toutes ces fonctions font référence au type de données ROBOT
dont la définition est la suivante :
struct robot
{
int x,y,dir;
};
typedef struct robot ROBOT;
Enfin, vous coderez le labyrinthe au moyen d'un tableau à deux dimensions : une case remplie
avec un 1 symbolisant un mur, et une case remplie avec un 0 étant vide. La position du robot
correspondra à sa postion dans la matrice.
Travail à faire
Dans un premier temps, vous devez écrire l'ensemble des fonction demandées. Puis, vous
rajouter les lignes de codes nécessaires à la sauvegarde dans un fichier texte, du labyrinthe et
du chemin emprunté par le robot. Bon courage...