Dawn/backup/poker/dealer.c

60 lines
1.3 KiB
C

/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#include "dealer.h"
//Not needed
void pokerDealerInit(pokerdealer_t *dealer) {
uint8_t i;
dealer->graveSize = 0;
dealer->cardsFacing = 0;
dealer->deckSize = CARD_DECK_SIZE;
for(i = 0; i < CARD_DECK_SIZE; i++) dealer->deck[i] = i;
}
// Done
void pokerDealerTurn(pokerdealer_t *dealer, uint8_t count) {
uint8_t i;
for(i = 0; i < count; i++) {
cardDeal(
dealer->deck, &dealer->deckSize,
dealer->cards, &dealer->cardsFacing
);
}
}
// Done
void pokerDealerBurn(pokerdealer_t *dealer, uint8_t count) {
uint8_t i;
for(i = 0; i < count; i++) {
cardDeal(
dealer->deck, &dealer->deckSize,
dealer->grave, &dealer->graveSize
);
}
}
// Done
void pokerDealerDeal(pokerdealer_t *dealer, pokerplayer_t *player) {
cardDeal(dealer->deck, &dealer->deckSize, player->cards, &player->cardCount);
}
// Done
void pokerDealerDealAll(
pokerdealer_t *dealer, pokerplayer_t *players, uint8_t count
) {
uint8_t x, y;
pokerplayer_t *player;
for(y = 0; y < count; y++) {
for(x = 0; x < POKER_PLAYER_COUNT; x++) {
player = players + x;
if(!pokerPlayerIsInRound(player)) continue;
pokerDealerDeal(dealer, player);
}
}
}