Added basic betting, turns, and added queue restacking
This commit is contained in:
@ -14,12 +14,18 @@ void pokerBetInit(pokerbet_t *bet) {
|
||||
|
||||
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) {
|
||||
poker->bet.better = (poker->roundSmallBlind + 1) % POKER_PLAYER_COUNT;
|
||||
}
|
||||
|
||||
void pokerBetTakeBlinds(poker_t *poker) {
|
||||
|
@ -29,6 +29,14 @@ void pokerBetReset(pokerbet_t *bet);
|
||||
*/
|
||||
void pokerBetPlayer(poker_t *poker, pokerplayer_t *player, int32_t chips);
|
||||
|
||||
/**
|
||||
* Reset the current better back to the round/turns default. The better will
|
||||
* always be the player to the right of the small blind player.
|
||||
*
|
||||
* @param poker Poker game to update for.
|
||||
*/
|
||||
void pokerBetResetBetter(poker_t *poker);
|
||||
|
||||
/**
|
||||
* Takes the current blinds from the correct players.
|
||||
*
|
||||
|
28
src/poker/turn.c
Normal file
28
src/poker/turn.c
Normal file
@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "turn.h"
|
||||
|
||||
pokerturn_t pokerTurnGet(poker_t *poker, uint8_t playerIndex) {
|
||||
pokerturn_t turn;
|
||||
pokerplayer_t *player;
|
||||
|
||||
player = poker->players + playerIndex;
|
||||
|
||||
// Can the player do anything?
|
||||
turn.type = POKER_TURN_TYPE_OUT;
|
||||
if(player->state & POKER_PLAYER_STATE_FOLDED) return turn;
|
||||
if(player->state & POKER_PLAYER_STATE_OUT) return turn;
|
||||
|
||||
|
||||
// I have nfi
|
||||
turn.type = POKER_TURN_TYPE_BET;
|
||||
turn.chips = 1;
|
||||
turn.confidence = 1;
|
||||
|
||||
return turn;
|
||||
}
|
11
src/poker/turn.h
Normal file
11
src/poker/turn.h
Normal file
@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <dawn/dawn.h>
|
||||
|
||||
pokerturn_t pokerTurnGet(poker_t *poker, uint8_t playerIndex);
|
Reference in New Issue
Block a user