calcHandsChance

This commit is contained in:
floty
2008-10-17 09:48:37 +00:00
parent 716e45c881
commit 77a66b310d
7 changed files with 1140 additions and 257 deletions
+69 -1
View File
@@ -560,6 +560,74 @@ int array[7][3];
}
}
return array[0][1]*1000000+array[1][1]*10000+array[2][1]*100+array[3][1]*10+array[4][1];
}
}
int* CardsValue::calcCardsChance(GameState beRoID, int* playerCards, int* boardCards)
{
int i,j;
int* hand = new int[10];
int cards[7];
int sum = 0;
for(i=0;i<10;i++) hand[i] = 0;
cards[0] = playerCards[0];
cards[1] = playerCards[1];
for(i=0;i<5;i++) cards[i+2] = boardCards[i];
switch(beRoID) {
case GAME_STATE_PREFLOP: {
// int rand[5];
// for(i=0;i<preflopCalcNumber;i++) {
// getRandNumber(0,51,5,rand,1,playerCards);
//
// }
} break;
case GAME_STATE_FLOP: {
for(i=0;i<51;i++) {
if(i!=cards[0] && i!=cards[1] && i!=cards[2] && i!=cards[3] && i!=cards[4]) {
for(j=i+1;j<52;j++) {
if(j!=cards[0] && j!=cards[1] && j!=cards[2] && j!=cards[3] && j!=cards[4]) {
cards[5] = i;
cards[6] = j;
hand[cardsValue(cards,0)/100000000]++;
sum++;
}
}
}
}
for(i=0;i<10;i++) {
hand[i] = (int)(((double)hand[i]/(double)sum)*100.0+0.5);
}
} break;
case GAME_STATE_TURN: {
for(i=0;i<52;i++) {
if(i!=cards[0] && i!=cards[1] && i!=cards[2] && i!=cards[3] && i!=cards[4] && i!=cards[5]) {
cards[6] = i;
hand[cardsValue(cards,0)/100000000]++;
sum++;
}
}
for(i=0;i<10;i++) {
hand[i] = (int)(((double)hand[i]/(double)sum)*100.0+0.5);
}
} break;
case GAME_STATE_RIVER: {
hand[cardsValue(cards,0)/100000000] = 100;
} break;
default: {
}
}
return hand;
}