Just getting the betting cycle done.

This commit is contained in:
2021-08-13 10:09:37 -07:00
parent eddc5bfafd
commit 98b50f5987
8 changed files with 59 additions and 25 deletions

View File

@ -7,11 +7,6 @@
#include "bet.h"
void _pokerGameActionBetOnStart(
queue_t *queue, queueaction_t *action, uint8_t i
) {
}
void _pokerGameActionBetOnUpdate(
queue_t *queue, queueaction_t *action, uint8_t i
) {
@ -32,7 +27,7 @@ void _pokerGameActionBetOnUpdate(
// Handle as an AI
if(isHuman) {
turn.type = POKER_TURN_TYPE_OUT;
turn.type = POKER_TURN_TYPE_FOLD;
turnMade = true;
} else {
turn = pokerTurnGet(&game->poker, game->poker.bet.better);
@ -56,6 +51,11 @@ void _pokerGameActionBetOnUpdate(
debugAction = "folding";
player->state |= POKER_PLAYER_STATE_FOLDED;
break;
// Player checks
case POKER_TURN_TYPE_CHECK:
debugAction = "checking";
break;
// Player may be out
default:
@ -72,6 +72,7 @@ void _pokerGameActionBetOnEnd(
) {
uint8_t j;
pokerplayer_t *player;
queueaction_t *next;
pokergame_t *game = (pokergame_t *)action->data;
bool playersPending;
@ -95,13 +96,22 @@ void _pokerGameActionBetOnEnd(
// Are we waiting on any players?
if(playersPending) return;
printf("Not waiting on anything!\n");
// No! Begin the next flop.
printf("Not waiting on anything\n");
next = pokerActionNextFlopAdd(queue, &game->poker);
if(next != NULL) {
pokerBetResetBetter(&game->poker);
pokerGameActionBetAdd(game);
return;
}
printf("All betting is done, reveal");
}
queueaction_t * pokerGameActionBetAdd(pokergame_t *game) {
queueaction_t *action = pokerGameActionAdd(game);
action->onStart = &_pokerGameActionBetOnStart;
action->onUpdate = &_pokerGameActionBetOnUpdate;
action->onEnd = &_pokerGameActionBetOnEnd;
return action;

View File

@ -10,5 +10,6 @@
#include "action.h"
#include "../../../poker/turn.h"
#include "../../../poker/bet.h"
#include "../../../poker/actions/flop.h"
queueaction_t * pokerGameActionBetAdd(pokergame_t *game);