Bonjour à tous, voilà je me suis mis à developper une petite application de poker.
Le besoin qui en découle est celui d'un algorithme sur qui permet de generer des cartes "uniques" (qu'on a pas brulées, pour ceux qui connaissent le poker).
Je possede un ensemble de cartes dans un tableau (51 elements).
Voici le principe :
Mon problème est simple, je pensais que cet algorithme permettait recursivement de reparcourir a chaque fois le tableau de cartes brulées, mais dans mon jeu apparaissent quelquefois des cartes déja tirées...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 //voici pour la generation de la 1ere carte int random_number = (rand() % 52); nb_carte1 = random_number; tab_deadcards[0] = nb_carte1; //voici pour la generation de la 2e carte random_number = (rand() % 52) nb_carte2 = verif_card(random_number, tab_deadcards); tab_deadcards[1] = nb_carte2; //et ainsi de suite... //et voici ma fonction de controle int verif_card(int carte, int deadcards[]) { int card; card = carte; int tablength = sizeof(deadcards) / sizeof(int); int a; for (a = 0; a < tablength; a++) { if (carte == deadcards[a]) { card = (rand() % 52) return verif_card(card, deadcards); } } return card; }
N'ayant que peu de connaissances sur la récursivité en C, merci de m'éclairer![]()
Partager