60 lines
1.3 KiB
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);
|
|
}
|
|
}
|
|
} |