pour le problème des changements de direction, pas la peine de te prendre trop la tête: tu recenses les directions dans une enum
	
	1 2
   |  
enum DIRECTION { GAUCHE = 0, HAUT, DROIT, BAS }; | 
 Ton robot contient la direction où il va, par exemple:
	
	typedef struct Robot { int x, y; Direction d; } Robot;
 et ensuite tu fais des fonctions:
	
	1 2 3 4 5 6 7
   | DIRECTION a_gauche(DIRECTION d) {
  return d == GAUCHE ? BAS : --d; // s'il va vers le haut, à gauche, vers la droite, en haut, vers le bas, à droite et vers la gauche, en bas.
}
 
DIRECTION a_droite(DIRECTION d) {
  return d == BAS ? GAUCHE : ++d; // gauche -> haut, haut -> droite, droite -> bas, bas -> gauche
} | 
 
						
					
Partager