C'est pas mal Fredo.
Mais, comme random (49) donne un nombre entre 0 et 48, ta solution ne permet pas de choisir 0 (puisque c'est la valeur initiale des éléments du tableau). Le problème disparait si on utilise random (49)+1 qui donne bien un nombre entre 1 et 49.
Nikko :
Pour bien comprendre le while, il suffit de le traduire par "tant que", ensuite tout devient évident.
while (i<=5) // Tant que i est plus petit que ou égal à 5
{
i++;
}
do //faire
{
i++;
}
while (i!=4); // Tant que i est différent de 4
Sinon, voici la solution que j'avais trouvée pour la question de Nikko :
/* Initialisation des numéro (nécessaire dans le cas où on utilise plusieurs fois la fonction sinon certains numéro
contenus dans un tirage ne pourront pas être choisi lors du tirage suivant) */
for (new n=0 ; n<6 ; n++) PlayerNumber[n][playerid] = 0;
new NombresChoisis = 0;
new rand;
do
{
rand = random(49) + 1;
/* Si le nombre est différent de tous les autres (heureusement qu'on ne choisi que 6 nombres ... ) */
if (rand != PlayerNumber[0][playerid] && rand != PlayerNumber[1][playerid] && rand != PlayerNumber[2][playerid] &&
rand != PlayerNumber[3][playerid] && rand != PlayerNumber[4][playerid] && rand != PlayerNumber[5][playerid])
{
/* On stocke le nombre car il n'est égal à aucun autre */
PlayerNumber[NombresChoisis][playerid] = rand;
/* Nombre suivant */
NombresChoisis++;
}
/* Sinon, on refait un tour de do ... while et on choisi un autre nombre aléatoire */
}
while (NombresChoisis != 6); // Tant qu'on a pas choisi nos 6 chiffres
++
Syg