J'ai réussi un test via une boucle for et j'aimerai la transformée en boucle while, d'habitude j'y arrive assez facilement... mais là :X quelque chose m'échappe !
Pas d'une grande utilitée me direz vous, mais moi j'aime bien tout comprendre... et là j'y arrive pas...
je récupère deux valeurs aléatoires avec un random.rage (de 1 à 9) et comme pour une grille de sudoku, je check mes valeurs x et y, ensuite la zone de x (de 1 à 3) et la zone de y (de 1 à 3) pour enfin avoir la zone globale (de 1 à 9) !!! Avec la boucle for ça marche niquel ! Mais je souhaiterai réussir avec ma boucle while
A savoir que c'est juste mon incrémentation de " zone++; " qui foire dans la boucle while.. mais autres données sont juste u_u
Code : Tout sélectionner
static int GetZone(int zone_x, int zone_y)
{
int zone = 1;
int x = 1;
int y = 1;
while (y != nbr_zone_x)
{
while (x != nbr_zone_y)
{
if (x == zone_x && y == zone_y)[color=#FF0000];[/color]
{
print("zone x = "+zone_x);
print("zone y = "+zone_y);
print("zone = "+zone);
return zone;
}
x++;
zone++;
}
y++;
}
return 0;
/*
int zone = 1;
for( int y = 1; y <= nbr_zone_x; y++)
{
for( int x = 1; x <= nbr_zone_y; x++)
{
if( x == zone_x && y == zone_y )
{
print("zone x = "+zone_x);
print("zone y = "+zone_y);
print("zone = "+zone);
return zone;
}
zone++;
}
}
return 0;
*/
}
}
Edit : Comme je l'ai marqué en rouge... un ; après ma condition... u_u du coup faut que je bidouille encore un peu.. mais ça marche maintenant !
NDrew : je compare une zone de 3 par 3 sur un total de 9 par 9 comme une grille de sudoku en faite (dans le but plus tard de pas instancier de joueurs dans la même zone au départ) du coup ce que tu m'as écris serai plus une sorte de factorisation nn ?