#define CV(x,y,size_x) x + y*size_x void rotation_lab(char* labData, t_move move, int size_x, int size_y){ //Modifie le labyrinthe en cas de rotation (POSSIBILITE : Placer les lignes de codes des if dans pos_suivante) int i, temp; if(move.type==ROTATE_LINE_LEFT){ temp=labData[CV(i,move.value,size_x)]; // On garde en mémoire le terme du tableau qui va passer de l'autre côté du labyrinthe avec la rotation (Ici, le 1er terme) for(i=0;i0;i--){//On parcours la ligne en sens inverse en échangeant les termes vers la droite labData[CV(i,move.value,size_x)]=labData[CV(i-1,move.value,size_x)]; } labData[CV(0,move.value,size_x)]=temp; //On place le terme au début de la ligne } if(move.type==ROTATE_COLUMN_UP){ temp=labData[move.value]; //On garde en mémoire le 1er terme de la colonne for(i=0;i0;i--){ //On parcours la colonne de bas en haut en échangeant vers le bas labData[CV(move.value,i,size_x)]=labData[CV(move.value,i-1,size-x)]; } labData[CV(move.value,0,size_x)]=temp; //On place le terme au début de la colonne } }