Salut a tous,
j'ai un code qui génère des cartes de jeu (poker), aléatoirement, mais parfois j'ai des cartes en double
Pour le premier tirage tout va bien, j'ai réussi a contourner ce problème en utilisant :
ça fonctionne bien, mais pour le deuxième tirage j'ai des soucis, je sais pas comment faire, voici mon code :Code:void tirage1(card *main) { int i=0; int j=0; int compteur = 0; for(i=0, j = 1; i < 5; ) { main[i].color= (rand()%4) + 1; main[i].value= (rand()%13)+ 2; if (i > 0) for (j = 0; j < i ; j++) if (main[i].color == main[j].color && main[i].value == main[j].value) // contre mesure pour eviter les doublons { j = -1; break; } if (j > 0) i++; } }
<
Merci de m'aider !Code:void tirage2(card *main) { int p=0; int i=0; int j=1; char choix[6]; printf("Appuyez sur o pour garder ou n pour retirer\n\n"); for (p=1, i=0, j = 1; p<6,i < 5; p++) { printf("Voulez vous garder votre %de carte?\n", p); scanf("%s", &choix[p-1]); if (choix[p-1] == 'o' ) { } else { main[p-1].color= (rand()%4) + 1; main[p-1].value= (rand()%13)+ 2; } } choix[5] = '\0'; }
-----