44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/**
|
|
* Copyright (c) 2021 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#include "bet.h"
|
|
|
|
void pokerBetInit(pokerbet_t *bet) {
|
|
bet->blindBig = POKER_BET_BLIND_BIG_DEFAULT;
|
|
bet->blindSmall = POKER_BET_BLIND_SMALL_DEFAULT;
|
|
}
|
|
|
|
void pokerBetReset(pokerbet_t *bet) {
|
|
bet->pot = 0;
|
|
bet->currentBet = 0;
|
|
}
|
|
|
|
void pokerBetPlayer(poker_t *poker, pokerplayer_t *player, int32_t chips) {
|
|
poker->bet.pot += chips;
|
|
player->chips -= chips;
|
|
player->currentBet += chips;
|
|
poker->bet.currentBet = mathMax(poker->bet.currentBet, player->currentBet);
|
|
}
|
|
|
|
void pokerBetResetBetter(poker_t *poker) {
|
|
uint8_t i;
|
|
pokerplayer_t *player;
|
|
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
|
|
player = poker->players + i;
|
|
player->state = flagOff(player->state, POKER_PLAYER_STATE_ROUND_MOVE);
|
|
}
|
|
poker->bet.better = POKER_BET_ROUND_PLAYER_DEFAULT(poker);
|
|
}
|
|
|
|
void pokerBetTakeBlinds(poker_t *poker) {
|
|
pokerBetPlayer(poker, poker->players + poker->roundSmallBlind,
|
|
poker->bet.blindSmall
|
|
);
|
|
pokerBetPlayer(poker, poker->players + poker->roundBigBlind,
|
|
poker->bet.blindBig
|
|
);
|
|
} |