Algorithme récursif (Poker)
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 :
Code:
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;
} |
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...
N'ayant que peu de connaissances sur la récursivité en C, merci de m'éclairer :)