Ajout d'une frime dans la main (POKER)
Bonjour, j'aimerais que vous m'aidiez pour ajouter la possibilité d'avoir une frime dans la main qui permettra d'avoir la main la plus gagnante avec ces conditions :
La frime serait un Joker de : vcarte=15, scarte=jk1/jk2
Ex : 10 pique, Q pique, K pique, AS pique, JK jk1 = Straight Flush Royale
2 carreau, 3 carreau, 6 carreau, JK jk1, JK jk2 = Straight Flush
J pique, Q pique, K pique, JK jk1, JK jk2 = Straight Flush Royale
3 pique, 3 cœur, 7 pique, JK jk1, JK jk2 = Four of a Kind ( ET non Full House)
...
Donc le Joker prend théoriquement la valeur et la sorte de la meilleur carte possible pour produire la meilleure main
Merci :) Et si possible avec la possibilité de garder mon code semblable
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
//Cette fonction vérifie qu'elle est la main gagnante et renvoie le gain en float
float CheckHand(int main, carte paquettxt[][5])
{
float tmp=0;
int vcarte[5];
string scarte[5];
for(int j=0;j<5;j++)
{
vcarte[j]=paquettxt[main][j].valeur;
scarte[j]=paquettxt[main][j].sorte;
}
//Ces if imbriqués regarde si la main est une Straight, Straight FLush ou Straight Flush Royale
if(vcarte[0]==vcarte[1]-1)
{
if(vcarte[0]==vcarte[2]-2)
{
if(vcarte[0]==vcarte[3]-3)
{
if(vcarte[0]==vcarte[4]-4)
{
cout<<"STRAIGHT ";
tmp=20;
if(scarte[0]==scarte[1]&&scarte[0]==scarte[2]&&scarte[0]==scarte[3])
{
cout<<"FLUSH ";
tmp=tmp+10;
if(vcarte[0]==10&&vcarte[1]==11&&vcarte[2]==12&&vcarte[3]==13&&vcarte[4]==14)
{
cout<<"ROYALE";
tmp=tmp+10;
}
}
}
}
}
}
//Regarde si Four of a kind
if(vcarte[0]==vcarte[1]&&vcarte[0]==vcarte[2]&&vcarte[0]==vcarte[3])
{
cout<<"FOUR OF A KIND";
tmp=25;
}
//Regarde si Flush
if(tmp==0)
{
if(scarte[0]==scarte[1]&&scarte[0]==scarte[2]&&scarte[0]==scarte[3])
{
cout<<"FLUSH";
tmp=15;
}
}
//Regarde si Full House
if((vcarte[0]==vcarte[1]&&vcarte[2]==vcarte[3]&&vcarte[2]==vcarte[4])||(vcarte[0]==vcarte[1]&&vcarte[0]==vcarte[2]&&vcarte[3]==vcarte[4]))
{
cout<<"FULL HOUSE";
tmp=10;
}
//Regarde si Three of a kind
if(tmp==0)
{
for(int i=0;i<=2;i++)
{
if(vcarte[i]==vcarte[i+1]&&vcarte[i]==vcarte[i+2])
{
cout<<"THREE OF A KIND";
tmp=5;
}
}
}
//Regarde si Two pairs
if(tmp==0)
{
for(int q=0;q<=1;q++)
{
if(vcarte[q]==vcarte[q+1])
{
if(vcarte[q+2]==vcarte[q+3])
{
cout<<"TWO PAIRS";
tmp=3;
}
}
}
if(vcarte[0]==vcarte[1]&&vcarte[3]==vcarte[4])
{
cout<<"TWO PAIRS";
tmp=3;
}
}
if(tmp==0)
{
cout<<"LA MAIN N'EST PAS GAGNANTE";
}
cout<<endl;
return tmp;
} |