#define HAUT = 0;
#define DROITE = 1;
#define BAS = 2;
#define GAUCHE = 3;
Sauf que pas de bol, les valeurs sont :
#define HAUT = 0;
#define BAS = 1;
#define GAUCHE = 2;
#define DROITE = 3;
Bon ben suffit de convertir en utilisant des tableaux :
int conv[] = {0, 2, 3, 1};
int convinv[] = {0, 3, 1, 2};
Puis :
int getNewIndice(int angle, int indice) {
indice = conv[indice];
int res = indice;
switch (angle) {
case 90: res = (indice + 1) % 4; break;
case 180: res = (indice + 2) % 4; break;
case 270: res = (indice + 3) % 4; break;
}
return convinv[res];
}
Je n'ai pas testé, il est tard, mais tu vois l'idée...
# Utilise un tableau de conversion d'indice ?
Posté par Maxime (site web personnel) . En réponse au message Algorithme : permutation. Évalué à 4. Dernière modification le 26 juin 2014 à 00:05.
Ton code marche pour :
Sauf que pas de bol, les valeurs sont :
Bon ben suffit de convertir en utilisant des tableaux :
Puis :
Je n'ai pas testé, il est tard, mais tu vois l'idée...