Even more refactoring
This commit is contained in:
@ -7,27 +7,27 @@
|
||||
|
||||
#include "winner.h"
|
||||
|
||||
void pokerWinnerHandGetFull(poker_t *poker, pokerplayer_t *player,
|
||||
card_t *cards
|
||||
){
|
||||
void pokerWinnerHandGetFull(
|
||||
pokerdealer_t *dealer, pokerplayer_t *player, card_t *cards
|
||||
) {
|
||||
uint8_t i;
|
||||
|
||||
// Add the dealer hand
|
||||
for(i = 0; i < poker->dealer.cardsFacing; i++) {
|
||||
cards[i] = poker->dealer.cards[i];
|
||||
for(i = 0; i < dealer->cardsFacing; i++) {
|
||||
cards[i] = dealer->cards[i];
|
||||
}
|
||||
|
||||
// Add the player hand
|
||||
for(i = 0; i < player->cardCount; i++) {
|
||||
cards[i+poker->dealer.cardsFacing] = player->cards[i];
|
||||
cards[i+dealer->cardsFacing] = player->cards[i];
|
||||
}
|
||||
|
||||
// Sort by card value
|
||||
cardHandSort(cards, poker->dealer.cardsFacing + player->cardCount);
|
||||
cardHandSort(cards, dealer->cardsFacing + player->cardCount);
|
||||
}
|
||||
|
||||
void pokerWinnerPlayerGet(
|
||||
poker_t *poker, pokerplayer_t *player, pokerplayerwinning_t *winning
|
||||
pokerdealer_t *dealer, pokerplayer_t *player, pokerplayerwinning_t *winning
|
||||
) {
|
||||
uint8_t i, j, l;
|
||||
int32_t index;
|
||||
@ -36,8 +36,8 @@ void pokerWinnerPlayerGet(
|
||||
int32_t pairs[CARD_SUIT_COUNT];
|
||||
|
||||
// Get the full poker hand (should be a 7 card hand, but MAY not be)
|
||||
winning->fullSize = poker->dealer.cardsFacing + player->cardCount;
|
||||
pokerWinnerHandGetFull(poker, player, winning->full);
|
||||
winning->fullSize = dealer->cardsFacing + player->cardCount;
|
||||
pokerWinnerHandGetFull(dealer, player, winning->full);
|
||||
|
||||
// Reset the winning status.
|
||||
winning->setSize = 0;
|
||||
@ -284,26 +284,26 @@ card_t pokerWinnerCompare(pokerplayerwinning_t *left, pokerplayerwinning_t *righ
|
||||
return highCardLeft;//Greater or Equal to.
|
||||
}
|
||||
|
||||
void pokerWinnerCalculate(poker_t *poker) {
|
||||
void pokerWinnerCalculate(
|
||||
pokerwinner_t *winner, pokerdealer_t *dealer, pokerplayer_t *players
|
||||
) {
|
||||
uint8_t i, j, number, highNumber;
|
||||
pokerwinner_t *winner;
|
||||
pokerplayerwinning_t *left, *right;
|
||||
pokerplayer_t *player;
|
||||
card_t card, highCard;
|
||||
bool isWinner;
|
||||
|
||||
winner = &poker->winner;
|
||||
winner->winnerCount = 0;
|
||||
|
||||
// Get winning sets
|
||||
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
|
||||
left = winner->winnings + i;
|
||||
left->type = POKER_WINNING_TYPE_NULL;
|
||||
player = poker->players + i;
|
||||
player = players + i;
|
||||
if(!pokerPlayerIsAlive(player)) continue;
|
||||
|
||||
// Get the players' winning state.
|
||||
pokerWinnerPlayerGet(poker, player, left);
|
||||
pokerWinnerPlayerGet(dealer, player, left);
|
||||
}
|
||||
|
||||
// Compare against each player
|
||||
|
Reference in New Issue
Block a user