/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include "../libs.h" #include "bet.h" #include "dealer.h" #include "card.h" /** How many cards a player can hold in their hand */ #define POKER_PLAYER_HAND 2 /** How many players in a poker game (excludes dealer) */ #define POKER_PLAYER_COUNT 5 //////////////////////////////////////////////////////////////////////////////// // Player States //////////////////////////////////////////////////////////////////////////////// /** State for whether or not a player has folded */ #define POKER_PLAYER_STATE_FOLDED 0x01 /** State for whether or not a player is showing their hand */ #define POKER_PLAYER_STATE_SHOWING 0x02 /** State for whether or not the player is out */ #define POKER_PLAYER_STATE_OUT 0x04 /** The index that the player who is the human... is */ #define POKER_PLAYER_HUMAN_INDEX 0x02 //////////////////////////////////////////////////////////////////////////////// // Player Definition //////////////////////////////////////////////////////////////////////////////// /** Poker Player State */ typedef struct { /** Cards in the players' hand */ card_t cards[POKER_PLAYER_HAND]; uint8_t cardCount; /** Current State of player */ uint8_t state; /** Chips in players' posession */ int32_t chips; /** Current bet in current round player has placed */ int32_t currentBet; } pokerplayer_t;