Writing more poker logic.
This commit is contained in:
		@@ -8,21 +8,33 @@
 | 
				
			|||||||
#include "poker.h"
 | 
					#include "poker.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void pokerInit(poker2_t *poker) {
 | 
					void pokerInit(poker2_t *poker) {
 | 
				
			||||||
  pokerResetRound(poker);
 | 
					 | 
				
			||||||
  poker->playerCount = 0;
 | 
					  poker->playerCount = 0;
 | 
				
			||||||
  poker->state = 0;
 | 
					  poker->state = 0;
 | 
				
			||||||
  poker->playerDealer = 0;
 | 
					  poker->playerDealer = 0;
 | 
				
			||||||
  poker->playerSmallBlind = 0;
 | 
					  poker->playerSmallBlind = 0;
 | 
				
			||||||
  poker->playerBigBlind = 0;
 | 
					  poker->playerBigBlind = 0;
 | 
				
			||||||
 | 
					  pokerResetRound(poker);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void pokerResetRound(poker2_t *poker) {
 | 
					void pokerResetRound(poker2_t *poker) {
 | 
				
			||||||
 | 
					  uint8_t i;
 | 
				
			||||||
 | 
					  poker2player_t *player;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  poker->deckSize = cardWriteDeck(poker->deck);
 | 
					  poker->deckSize = cardWriteDeck(poker->deck);
 | 
				
			||||||
  poker->graveSize = 0;
 | 
					  poker->graveSize = 0;
 | 
				
			||||||
  poker->communitySize = 0;
 | 
					  poker->communitySize = 0;
 | 
				
			||||||
  poker->potCount = 0;
 | 
					  poker->potCount = 0;
 | 
				
			||||||
  pokerPotAdd(poker);
 | 
					  pokerPotAdd(poker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for(i = 0; i < poker->playerCount; i++) {
 | 
				
			||||||
 | 
					    player = poker->players + i;
 | 
				
			||||||
 | 
					    player->cardCount = 0;
 | 
				
			||||||
 | 
					    player->currentBet = 0;
 | 
				
			||||||
 | 
					    player->state &= ~(
 | 
				
			||||||
 | 
					      POKER_PLAYER_STATE_FOLDED |
 | 
				
			||||||
 | 
					      POKER_PLAYER_STATE_HAS_BET_THIS_ROUND
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void pokerNewDealer(poker2_t *poker) {
 | 
					void pokerNewDealer(poker2_t *poker) {
 | 
				
			||||||
@@ -57,6 +69,16 @@ void pokerTakeBlinds(poker2_t *poker, int32_t small, int32_t big) {
 | 
				
			|||||||
  pokerPlayerBet(poker, poker->playerBigBlind, big);
 | 
					  pokerPlayerBet(poker, poker->playerBigBlind, big);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int32_t pokerGetCallValue(poker2_t *poker) {
 | 
				
			||||||
 | 
					  uint8_t i;
 | 
				
			||||||
 | 
					  int32_t call;
 | 
				
			||||||
 | 
					  call = 0;
 | 
				
			||||||
 | 
					  for(i = 0; i < poker->playerCount; i++) {
 | 
				
			||||||
 | 
					    call = mathMax(call, poker->players[i].currentBet);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  return call;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Pot functions
 | 
					// Pot functions
 | 
				
			||||||
uint8_t pokerPotAdd(poker2_t *poker) {
 | 
					uint8_t pokerPotAdd(poker2_t *poker) {
 | 
				
			||||||
  poker2pot_t *pot;
 | 
					  poker2pot_t *pot;
 | 
				
			||||||
@@ -99,6 +121,7 @@ uint8_t pokerPlayerAdd(poker2_t *poker) {
 | 
				
			|||||||
  player = poker->players + i;
 | 
					  player = poker->players + i;
 | 
				
			||||||
  player->cardCount = 0;
 | 
					  player->cardCount = 0;
 | 
				
			||||||
  player->chips = 0;
 | 
					  player->chips = 0;
 | 
				
			||||||
 | 
					  player->currentBet = 0;
 | 
				
			||||||
  player->state = POKER_PLAYER_STATE_OUT;
 | 
					  player->state = POKER_PLAYER_STATE_OUT;
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  return i;
 | 
					  return i;
 | 
				
			||||||
@@ -136,6 +159,15 @@ void pokerPlayerDealAll(poker2_t *poker, uint8_t count) {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool pokerPlayerDoesNeedToBetThisRound(poker2_t *poker, uint8_t playerIndex) {
 | 
				
			||||||
 | 
					  poker2player_t *player;
 | 
				
			||||||
 | 
					  player = poker->players + playerIndex;
 | 
				
			||||||
 | 
					  if(player->state & POKER_PLAYER_STATE_FOLDED) return false;
 | 
				
			||||||
 | 
					  if(!(player->state & POKER_PLAYER_STATE_HAS_BET_THIS_ROUND)) return true;
 | 
				
			||||||
 | 
					  if(player->currentBet < pokerGetCallValue(poker)) return true;
 | 
				
			||||||
 | 
					  return false;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Betting
 | 
					// Betting
 | 
				
			||||||
void pokerPlayerBetPot(
 | 
					void pokerPlayerBetPot(
 | 
				
			||||||
  poker2_t *poker, poker2pot_t *pot, uint8_t playerIndex, int32_t chips
 | 
					  poker2_t *poker, poker2pot_t *pot, uint8_t playerIndex, int32_t chips
 | 
				
			||||||
@@ -143,6 +175,7 @@ void pokerPlayerBetPot(
 | 
				
			|||||||
  poker2player_t *player;
 | 
					  poker2player_t *player;
 | 
				
			||||||
  player = poker->players + playerIndex;
 | 
					  player = poker->players + playerIndex;
 | 
				
			||||||
  player->chips -= chips;
 | 
					  player->chips -= chips;
 | 
				
			||||||
 | 
					  player->currentBet += chips;
 | 
				
			||||||
  pot->chips += chips;
 | 
					  pot->chips += chips;
 | 
				
			||||||
  player->state |= POKER_PLAYER_STATE_HAS_BET_THIS_ROUND;
 | 
					  player->state |= POKER_PLAYER_STATE_HAS_BET_THIS_ROUND;
 | 
				
			||||||
  pokerPotAddPlayer(pot, playerIndex);
 | 
					  pokerPotAddPlayer(pot, playerIndex);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,7 @@
 | 
				
			|||||||
#include "../libs.h"
 | 
					#include "../libs.h"
 | 
				
			||||||
#include "../util/flags.h"
 | 
					#include "../util/flags.h"
 | 
				
			||||||
#include "../util/array.h"
 | 
					#include "../util/array.h"
 | 
				
			||||||
 | 
					#include "../util/math.h"
 | 
				
			||||||
#include "../poker/card.h"
 | 
					#include "../poker/card.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define POKER_PLAYER_COUNT_MAX 5
 | 
					#define POKER_PLAYER_COUNT_MAX 5
 | 
				
			||||||
@@ -27,6 +28,7 @@ typedef struct {
 | 
				
			|||||||
  card_t cards[POKER_PLAYER_HAND_SIZE_MAX];
 | 
					  card_t cards[POKER_PLAYER_HAND_SIZE_MAX];
 | 
				
			||||||
  uint8_t cardCount;
 | 
					  uint8_t cardCount;
 | 
				
			||||||
  uint8_t state;
 | 
					  uint8_t state;
 | 
				
			||||||
 | 
					  int32_t currentBet;
 | 
				
			||||||
} poker2player_t;
 | 
					} poker2player_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct {
 | 
					typedef struct {
 | 
				
			||||||
@@ -55,7 +57,6 @@ typedef struct {
 | 
				
			|||||||
  uint8_t playerSmallBlind;
 | 
					  uint8_t playerSmallBlind;
 | 
				
			||||||
  uint8_t playerBigBlind;
 | 
					  uint8_t playerBigBlind;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
  uint8_t state;
 | 
					  uint8_t state;
 | 
				
			||||||
} poker2_t;
 | 
					} poker2_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -69,6 +70,7 @@ void pokerInit(poker2_t *poker);
 | 
				
			|||||||
void pokerResetRound(poker2_t *poker);
 | 
					void pokerResetRound(poker2_t *poker);
 | 
				
			||||||
void pokerNewDealer(poker2_t *poker);
 | 
					void pokerNewDealer(poker2_t *poker);
 | 
				
			||||||
void pokerTakeBlinds(poker2_t *poker, int32_t small, int32_t big);
 | 
					void pokerTakeBlinds(poker2_t *poker, int32_t small, int32_t big);
 | 
				
			||||||
 | 
					int32_t pokerGetCallValue(poker2_t *poker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
uint8_t pokerPotAdd(poker2_t *poker);
 | 
					uint8_t pokerPotAdd(poker2_t *poker);
 | 
				
			||||||
void pokerPotAddPlayer(poker2pot_t *pot, uint8_t playerIndex);
 | 
					void pokerPotAddPlayer(poker2pot_t *pot, uint8_t playerIndex);
 | 
				
			||||||
@@ -80,6 +82,7 @@ uint8_t pokerPlayerAdd(poker2_t *poker);
 | 
				
			|||||||
void pokerPlayerDeal(poker2_t *poker, poker2player_t *player, uint8_t count);
 | 
					void pokerPlayerDeal(poker2_t *poker, poker2player_t *player, uint8_t count);
 | 
				
			||||||
void pokerPlayerChipsAdd(poker2player_t *player, int32_t chips);
 | 
					void pokerPlayerChipsAdd(poker2player_t *player, int32_t chips);
 | 
				
			||||||
void pokerPlayerDealAll(poker2_t *poker, uint8_t count);
 | 
					void pokerPlayerDealAll(poker2_t *poker, uint8_t count);
 | 
				
			||||||
 | 
					bool pokerPlayerDoesNeedToBetThisRound(poker2_t *poker, uint8_t playerIndex);
 | 
				
			||||||
void pokerPlayerBetPot(
 | 
					void pokerPlayerBetPot(
 | 
				
			||||||
  poker2_t *poker, poker2pot_t *pot, uint8_t playerIndex, int32_t chips
 | 
					  poker2_t *poker, poker2pot_t *pot, uint8_t playerIndex, int32_t chips
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,6 +34,37 @@ void test_pokerResetRound_should_ResetTheRound(void) {
 | 
				
			|||||||
  TEST_ASSERT_EQUAL_UINT8(1, poker.potCount);
 | 
					  TEST_ASSERT_EQUAL_UINT8(1, poker.potCount);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void test_pokerResetRound_should_ResetThePlayers(void) {
 | 
				
			||||||
 | 
					  poker2_t poker;
 | 
				
			||||||
 | 
					  uint8_t i;
 | 
				
			||||||
 | 
					  pokerInit(&poker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					  pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					  pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for(i = 0; i < poker.playerCount; i++) {
 | 
				
			||||||
 | 
					    poker.players[i].cardCount = 32;
 | 
				
			||||||
 | 
					    poker.players[i].chips = 100;
 | 
				
			||||||
 | 
					    poker.players[i].state = 0xFF;
 | 
				
			||||||
 | 
					    poker.players[i].currentBet = 12345;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pokerResetRound(&poker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for(i = 0; i < poker.playerCount; i++) {
 | 
				
			||||||
 | 
					    TEST_ASSERT_EQUAL_UINT8(0, poker.players[i].cardCount);
 | 
				
			||||||
 | 
					    TEST_ASSERT_EQUAL_INT32(0, poker.players[i].currentBet);
 | 
				
			||||||
 | 
					    TEST_ASSERT_EQUAL_INT32(100, poker.players[i].chips);
 | 
				
			||||||
 | 
					    TEST_ASSERT_BITS_LOW(POKER_PLAYER_STATE_FOLDED, poker.players[i].state);
 | 
				
			||||||
 | 
					    TEST_ASSERT_BITS_LOW(POKER_PLAYER_STATE_HAS_BET_THIS_ROUND, poker.players[i].state);
 | 
				
			||||||
 | 
					    TEST_ASSERT_EQUAL_UINT8(
 | 
				
			||||||
 | 
					      0xFF - POKER_PLAYER_STATE_FOLDED - POKER_PLAYER_STATE_HAS_BET_THIS_ROUND,
 | 
				
			||||||
 | 
					      poker.players[i].state
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void test_pokerNewDealer_should_FindANewDealer(void) {
 | 
					void test_pokerNewDealer_should_FindANewDealer(void) {
 | 
				
			||||||
  poker2_t poker;
 | 
					  poker2_t poker;
 | 
				
			||||||
  pokerInit(&poker);
 | 
					  pokerInit(&poker);
 | 
				
			||||||
@@ -191,8 +222,9 @@ void test_pokerPlayerAdd_should_ResetThePlayer(void) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  player = poker.players + pokerPlayerAdd(&poker);
 | 
					  player = poker.players + pokerPlayerAdd(&poker);
 | 
				
			||||||
  TEST_ASSERT_EQUAL_INT32(0, player->chips);
 | 
					  TEST_ASSERT_EQUAL_INT32(0, player->chips);
 | 
				
			||||||
  TEST_ASSERT_EQUAL_UINT8(POKER_PLAYER_STATE_OUT, player->state);
 | 
					  TEST_ASSERT_EQUAL_INT32(0, player->currentBet);
 | 
				
			||||||
  TEST_ASSERT_EQUAL_UINT8(0, player->cardCount);
 | 
					  TEST_ASSERT_EQUAL_UINT8(0, player->cardCount);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_UINT8(POKER_PLAYER_STATE_OUT, player->state);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void test_pokerTurn_should_TurnCardsFromTheDeck(void) {
 | 
					void test_pokerTurn_should_TurnCardsFromTheDeck(void) {
 | 
				
			||||||
@@ -236,6 +268,53 @@ void test_pokerBurn_should_SendCardsToTheGrave(void) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void test_pokerGetCallValue_should_CalculateTheCallValue(void) {
 | 
				
			||||||
 | 
					  poker2_t poker;
 | 
				
			||||||
 | 
					  uint8_t first, second;
 | 
				
			||||||
 | 
					  pokerInit(&poker);
 | 
				
			||||||
 | 
					  first = pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					  second = pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					  pokerPlayerChipsAdd(poker.players + first, 10000);
 | 
				
			||||||
 | 
					  pokerPlayerChipsAdd(poker.players + second, 10000);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(0, pokerGetCallValue(&poker));
 | 
				
			||||||
 | 
					  pokerPlayerBet(&poker, first, 100);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(100, pokerGetCallValue(&poker));
 | 
				
			||||||
 | 
					  pokerPlayerBet(&poker, second, 150);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(150, pokerGetCallValue(&poker));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pokerPotAdd(&poker);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(150, pokerGetCallValue(&poker));
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(0, poker.pots[1].chips);
 | 
				
			||||||
 | 
					  pokerPlayerBet(&poker, second, 50);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(200, pokerGetCallValue(&poker));
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(50, poker.pots[1].chips);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void test_pokerGetCallValue_should_SkipOutPlayers(void) {
 | 
				
			||||||
 | 
					  poker2_t poker;
 | 
				
			||||||
 | 
					  uint8_t i;
 | 
				
			||||||
 | 
					  pokerInit(&poker);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  i = pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					  pokerPlayerChipsAdd(poker.players + i, 10000);
 | 
				
			||||||
 | 
					  pokerPlayerBet(&poker, i, 300);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  i = pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					  pokerPlayerChipsAdd(poker.players + i, 10000);
 | 
				
			||||||
 | 
					  pokerPlayerBet(&poker, i, 500);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  i = pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					  pokerPlayerChipsAdd(poker.players + i, 10000);
 | 
				
			||||||
 | 
					  pokerPlayerBet(&poker, i, 200);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(500, pokerGetCallValue(&poker));
 | 
				
			||||||
 | 
					  poker.players[1].state |= POKER_PLAYER_STATE_OUT;
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(300, pokerGetCallValue(&poker));
 | 
				
			||||||
 | 
					  poker.players[0].state |= POKER_PLAYER_STATE_OUT;
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(200, pokerGetCallValue(&poker));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void test_pokerPlayerDeal_should_DealCardsToThePlayer(void) {
 | 
					void test_pokerPlayerDeal_should_DealCardsToThePlayer(void) {
 | 
				
			||||||
  poker2_t poker;
 | 
					  poker2_t poker;
 | 
				
			||||||
  uint8_t playerIndex;
 | 
					  uint8_t playerIndex;
 | 
				
			||||||
@@ -383,6 +462,30 @@ void test_pokerPlayerDealAll_should_NotDealToFoldedPlayers(void) {
 | 
				
			|||||||
  TEST_ASSERT_EQUAL_UINT8(CARD_SPADES_JACK, poker.players[2].cards[1]);
 | 
					  TEST_ASSERT_EQUAL_UINT8(CARD_SPADES_JACK, poker.players[2].cards[1]);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void test_pokerPlayerDoesNeedToBetThisRound_should_CheckCallValue(void) {
 | 
				
			||||||
 | 
					  poker2_t poker;
 | 
				
			||||||
 | 
					  uint8_t first, second;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pokerInit(&poker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  first = pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					  second = pokerPlayerAdd(&poker);
 | 
				
			||||||
 | 
					  pokerPlayerChipsAdd(poker.players + first, 10000);
 | 
				
			||||||
 | 
					  pokerPlayerChipsAdd(poker.players + second, 10000);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pokerPlayerBet(&poker, first, 100);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL(false, pokerPlayerDoesNeedToBetThisRound(&poker, first));
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL(true, pokerPlayerDoesNeedToBetThisRound(&poker, second));
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  pokerPlayerBet(&poker, second, 200);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL(true, pokerPlayerDoesNeedToBetThisRound(&poker, first));
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL(false, pokerPlayerDoesNeedToBetThisRound(&poker, second));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pokerPlayerBet(&poker, first, 100);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL(false, pokerPlayerDoesNeedToBetThisRound(&poker, first));
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL(false, pokerPlayerDoesNeedToBetThisRound(&poker, second));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void test_pokerPlayerBetPot_should_AddChipsToThePot(void) {
 | 
					void test_pokerPlayerBetPot_should_AddChipsToThePot(void) {
 | 
				
			||||||
  poker2_t poker;
 | 
					  poker2_t poker;
 | 
				
			||||||
  poker2pot_t *pot;
 | 
					  poker2pot_t *pot;
 | 
				
			||||||
@@ -414,8 +517,14 @@ void test_pokerPlayerBetPot_should_UpdatePlayerState(void) {
 | 
				
			|||||||
  pokerPlayerChipsAdd(player, 1000);
 | 
					  pokerPlayerChipsAdd(player, 1000);
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  TEST_ASSERT_BITS_LOW(POKER_PLAYER_STATE_HAS_BET_THIS_ROUND, player->state);
 | 
					  TEST_ASSERT_BITS_LOW(POKER_PLAYER_STATE_HAS_BET_THIS_ROUND, player->state);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(0, player->currentBet);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  pokerPlayerBetPot(&poker, poker.pots, i, 100);
 | 
					  pokerPlayerBetPot(&poker, poker.pots, i, 100);
 | 
				
			||||||
  TEST_ASSERT_BITS_HIGH(POKER_PLAYER_STATE_HAS_BET_THIS_ROUND, player->state);
 | 
					  TEST_ASSERT_BITS_HIGH(POKER_PLAYER_STATE_HAS_BET_THIS_ROUND, player->state);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(100, player->currentBet);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pokerPlayerBetPot(&poker, poker.pots, i, 250);
 | 
				
			||||||
 | 
					  TEST_ASSERT_EQUAL_INT32(350, player->currentBet);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void test_pokerPlayerBet_should_BetToTheActivePot(void) {
 | 
					void test_pokerPlayerBet_should_BetToTheActivePot(void) {
 | 
				
			||||||
@@ -444,6 +553,7 @@ int test_poker() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  RUN_TEST(test_pokerInit_should_InitializePokerGame);
 | 
					  RUN_TEST(test_pokerInit_should_InitializePokerGame);
 | 
				
			||||||
  RUN_TEST(test_pokerResetRound_should_ResetTheRound);
 | 
					  RUN_TEST(test_pokerResetRound_should_ResetTheRound);
 | 
				
			||||||
 | 
					  RUN_TEST(test_pokerResetRound_should_ResetThePlayers);
 | 
				
			||||||
  RUN_TEST(test_pokerPotAdd_should_AddAPot);
 | 
					  RUN_TEST(test_pokerPotAdd_should_AddAPot);
 | 
				
			||||||
  RUN_TEST(test_pokerPotAdd_should_ResetThePot);
 | 
					  RUN_TEST(test_pokerPotAdd_should_ResetThePot);
 | 
				
			||||||
  RUN_TEST(test_pokerNewDealer_should_FindANewDealer);
 | 
					  RUN_TEST(test_pokerNewDealer_should_FindANewDealer);
 | 
				
			||||||
@@ -453,6 +563,7 @@ int test_poker() {
 | 
				
			|||||||
  RUN_TEST(test_pokerPlayerAdd_should_ResetThePlayer);
 | 
					  RUN_TEST(test_pokerPlayerAdd_should_ResetThePlayer);
 | 
				
			||||||
  RUN_TEST(test_pokerTurn_should_TurnCardsFromTheDeck);
 | 
					  RUN_TEST(test_pokerTurn_should_TurnCardsFromTheDeck);
 | 
				
			||||||
  RUN_TEST(test_pokerBurn_should_SendCardsToTheGrave);
 | 
					  RUN_TEST(test_pokerBurn_should_SendCardsToTheGrave);
 | 
				
			||||||
 | 
					  RUN_TEST(test_pokerGetCallValue_should_CalculateTheCallValue);
 | 
				
			||||||
  RUN_TEST(test_pokerPlayerDeal_should_DealCardsToThePlayer);
 | 
					  RUN_TEST(test_pokerPlayerDeal_should_DealCardsToThePlayer);
 | 
				
			||||||
  RUN_TEST(test_pokerPlayerChipsAdd_should_AddChipsToThePlayer);
 | 
					  RUN_TEST(test_pokerPlayerChipsAdd_should_AddChipsToThePlayer);
 | 
				
			||||||
  RUN_TEST(test_pokerPlayerChipsAdd_should_TurnOutStateOff);
 | 
					  RUN_TEST(test_pokerPlayerChipsAdd_should_TurnOutStateOff);
 | 
				
			||||||
@@ -460,6 +571,7 @@ int test_poker() {
 | 
				
			|||||||
  RUN_TEST(test_pokerPlayerDealAll_should_DealMultipleCardsToEveryone);
 | 
					  RUN_TEST(test_pokerPlayerDealAll_should_DealMultipleCardsToEveryone);
 | 
				
			||||||
  RUN_TEST(test_pokerPlayerDealAll_should_NotDealToOutPlayers);
 | 
					  RUN_TEST(test_pokerPlayerDealAll_should_NotDealToOutPlayers);
 | 
				
			||||||
  RUN_TEST(test_pokerPlayerDealAll_should_NotDealToFoldedPlayers);
 | 
					  RUN_TEST(test_pokerPlayerDealAll_should_NotDealToFoldedPlayers);
 | 
				
			||||||
 | 
					  RUN_TEST(test_pokerPlayerDoesNeedToBetThisRound_should_CheckCallValue);
 | 
				
			||||||
  RUN_TEST(test_pokerPlayerBetPot_should_AddChipsToThePot);
 | 
					  RUN_TEST(test_pokerPlayerBetPot_should_AddChipsToThePot);
 | 
				
			||||||
  RUN_TEST(test_pokerPlayerBetPot_should_UpdatePlayerState);
 | 
					  RUN_TEST(test_pokerPlayerBetPot_should_UpdatePlayerState);
 | 
				
			||||||
  RUN_TEST(test_pokerPlayerBet_should_BetToTheActivePot);
 | 
					  RUN_TEST(test_pokerPlayerBet_should_BetToTheActivePot);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user