Added player count
This commit is contained in:
@@ -103,12 +103,12 @@ void conversationQueueNextBetter() {
|
|||||||
|
|
||||||
// Now we decide the next better.
|
// Now we decide the next better.
|
||||||
countStillInGame = 0;
|
countStillInGame = 0;
|
||||||
for(i = 0; i < POKER_PLAYER_COUNT_MAX; i++) {
|
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
|
||||||
//In theory I don't think the current better can ever be selected again.
|
//In theory I don't think the current better can ever be selected again.
|
||||||
// if(i == POKER_PLAYER_BETTER) continue; // Commented because we now count
|
// if(i == POKER_PLAYER_BETTER) continue; // Commented because we now count
|
||||||
|
|
||||||
// Next better is the better to the right of the current better.
|
// Next better is the better to the right of the current better.
|
||||||
j = (POKER_PLAYER_BETTER + i) % POKER_PLAYER_COUNT_MAX;
|
j = (POKER_PLAYER_BETTER + i) % POKER_PLAYER_COUNT;
|
||||||
if(!pokerDoesPlayerNeedToBet(j)) {
|
if(!pokerDoesPlayerNeedToBet(j)) {
|
||||||
if((POKER_PLAYERS[j].state & (POKER_PLAYER_STATE_FOLDED | POKER_PLAYER_STATE_OUT)) == 0) {
|
if((POKER_PLAYERS[j].state & (POKER_PLAYER_STATE_FOLDED | POKER_PLAYER_STATE_OUT)) == 0) {
|
||||||
countStillInGame++;
|
countStillInGame++;
|
||||||
@@ -163,7 +163,7 @@ void conversationQueueFlopTurnRiver() {
|
|||||||
player = POKER_PLAYERS + i;
|
player = POKER_PLAYERS + i;
|
||||||
player->state &= ~POKER_PLAYER_STATE_HAS_BET_THIS_ROUND;
|
player->state &= ~POKER_PLAYER_STATE_HAS_BET_THIS_ROUND;
|
||||||
player->timesRaised = 0;
|
player->timesRaised = 0;
|
||||||
} while(++i < POKER_PLAYER_COUNT_MAX);
|
} while(++i < POKER_PLAYER_COUNT);
|
||||||
|
|
||||||
// In reality we'd burn the top card but that would waste some CPU I need.
|
// In reality we'd burn the top card but that would waste some CPU I need.
|
||||||
// Deal the top cards.
|
// Deal the top cards.
|
||||||
|
@@ -134,7 +134,7 @@ void main() {
|
|||||||
|
|
||||||
// DEBUG DRAW
|
// DEBUG DRAW
|
||||||
uint8_t tiles[10];
|
uint8_t tiles[10];
|
||||||
for(j = 0; j < POKER_PLAYER_COUNT_MAX; j++) {
|
for(j = 0; j < POKER_PLAYER_COUNT; j++) {
|
||||||
mainBufferChar(POKER_PLAYERS[j].hand[0], tiles);
|
mainBufferChar(POKER_PLAYERS[j].hand[0], tiles);
|
||||||
mainBufferChar(POKER_PLAYERS[j].hand[1], tiles + 2);
|
mainBufferChar(POKER_PLAYERS[j].hand[1], tiles + 2);
|
||||||
|
|
||||||
@@ -175,7 +175,7 @@ void main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
set_bkg_tiles(0x00, POKER_PLAYER_COUNT_MAX + 1, 10, 1, tiles);
|
set_bkg_tiles(0x00, POKER_PLAYER_COUNT + 1, 10, 1, tiles);
|
||||||
|
|
||||||
// Tick time.
|
// Tick time.
|
||||||
timeUpdate();
|
timeUpdate();
|
||||||
|
@@ -25,3 +25,4 @@ typedef struct {
|
|||||||
} pokerplayer_t;
|
} pokerplayer_t;
|
||||||
|
|
||||||
extern pokerplayer_t POKER_PLAYERS[];
|
extern pokerplayer_t POKER_PLAYERS[];
|
||||||
|
extern uint8_t POKER_PLAYER_COUNT;
|
@@ -30,20 +30,22 @@ uint8_t POKER_WINNER_PLAYERS[POKER_PLAYER_COUNT_MAX];
|
|||||||
uint8_t POKER_WINNER_PARTICIPANTS[POKER_PLAYER_COUNT_MAX];
|
uint8_t POKER_WINNER_PARTICIPANTS[POKER_PLAYER_COUNT_MAX];
|
||||||
uint8_t POKER_WINNER_COUNT;
|
uint8_t POKER_WINNER_COUNT;
|
||||||
uint8_t POKER_WINNER_PARTICIPANT_COUNT;
|
uint8_t POKER_WINNER_PARTICIPANT_COUNT;
|
||||||
|
uint8_t POKER_PLAYER_COUNT;
|
||||||
|
|
||||||
void pokerInit() {
|
void pokerInit() {
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
|
|
||||||
// Set up players
|
|
||||||
for(i = 0; i < POKER_PLAYER_COUNT_MAX; i++) {
|
|
||||||
POKER_PLAYERS[i].chips = 10000;
|
|
||||||
POKER_PLAYERS[i].state = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set up the initial state.
|
// Set up the initial state.
|
||||||
// TODO: Should this be randomized?
|
// TODO: Should this be randomized?
|
||||||
POKER_PLAYER_DEALER = 0;
|
POKER_PLAYER_DEALER = 0;
|
||||||
POKER_GAME_BLINDS_CURRENT = 10;
|
POKER_GAME_BLINDS_CURRENT = 10;
|
||||||
|
POKER_PLAYER_COUNT = POKER_COMMUNITY_SIZE_MAX;
|
||||||
|
|
||||||
|
// Set up players
|
||||||
|
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
|
||||||
|
POKER_PLAYERS[i].chips = 10000;
|
||||||
|
POKER_PLAYERS[i].state = 0;
|
||||||
|
}
|
||||||
|
|
||||||
// Reset the round state (For the first round)
|
// Reset the round state (For the first round)
|
||||||
pokerNewRound();
|
pokerNewRound();
|
||||||
@@ -63,7 +65,7 @@ void pokerNewRound() {
|
|||||||
for(i = 0; i < POKER_POT_COUNT_MAX; i++) {
|
for(i = 0; i < POKER_POT_COUNT_MAX; i++) {
|
||||||
POKER_POTS[i].chips = 0;
|
POKER_POTS[i].chips = 0;
|
||||||
POKER_POTS[i].call = 0;
|
POKER_POTS[i].call = 0;
|
||||||
for(j = 0; j < POKER_PLAYER_COUNT_MAX; j++) {
|
for(j = 0; j < POKER_PLAYER_COUNT; j++) {
|
||||||
POKER_POTS[i].players[j] = 0;
|
POKER_POTS[i].players[j] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -86,7 +88,7 @@ void pokerNewRound() {
|
|||||||
POKER_PLAYER_DEALER++;
|
POKER_PLAYER_DEALER++;
|
||||||
|
|
||||||
// Update players for the round.
|
// Update players for the round.
|
||||||
for(i = 0; i < POKER_PLAYER_COUNT_MAX; i++) {
|
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
|
||||||
player = POKER_PLAYERS + i;
|
player = POKER_PLAYERS + i;
|
||||||
player->timesRaised = 0;
|
player->timesRaised = 0;
|
||||||
player->state &= ~(
|
player->state &= ~(
|
||||||
@@ -102,7 +104,7 @@ void pokerNewRound() {
|
|||||||
|
|
||||||
// Have we found the dealer, small blind, and big blind players?
|
// Have we found the dealer, small blind, and big blind players?
|
||||||
if(found != 3) {
|
if(found != 3) {
|
||||||
k = (POKER_PLAYER_DEALER + i) % POKER_PLAYER_COUNT_MAX;
|
k = (POKER_PLAYER_DEALER + i) % POKER_PLAYER_COUNT;
|
||||||
|
|
||||||
if(found == 0) {// Have we found the dealer?
|
if(found == 0) {// Have we found the dealer?
|
||||||
POKER_PLAYER_DEALER = i;
|
POKER_PLAYER_DEALER = i;
|
||||||
@@ -375,7 +377,7 @@ inline bool pokerDoesPlayerNeedToBet(uint8_t playerIndex) {
|
|||||||
inline uint8_t pokerGetRemainingBetterCount() {
|
inline uint8_t pokerGetRemainingBetterCount() {
|
||||||
uint8_t i, count;
|
uint8_t i, count;
|
||||||
count = 0;
|
count = 0;
|
||||||
for(i = 0 ; i < POKER_PLAYER_COUNT_MAX; i++) {
|
for(i = 0 ; i < POKER_PLAYER_COUNT; i++) {
|
||||||
if(pokerDoesPlayerNeedToBet(i)) count++;
|
if(pokerDoesPlayerNeedToBet(i)) count++;
|
||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
@@ -722,7 +724,7 @@ void pokerWinnerDetermineForPot(
|
|||||||
highCard = 0xFF;
|
highCard = 0xFF;
|
||||||
|
|
||||||
// Get participating players and their hands.
|
// Get participating players and their hands.
|
||||||
for(i = 0; i < POKER_PLAYER_COUNT_MAX; i++) {
|
for(i = 0; i < POKER_PLAYER_COUNT; i++) {
|
||||||
if(pot->players[i] == 0) continue;
|
if(pot->players[i] == 0) continue;
|
||||||
|
|
||||||
player = POKER_PLAYERS + i;
|
player = POKER_PLAYERS + i;
|
||||||
|
Reference in New Issue
Block a user