Dawn/src/poker/dealer.h

49 lines
1.2 KiB
C

// Copyright (c) 2021 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include <dawn/dawn.h>
#include "card.h"
#include "player.h"
/**
* Initializes/Resets a dealer state.
*
* @param dealer Dealer's state to reset.
*/
void pokerDealerInit(pokerdealer_t *dealer);
/**
* Turns over cards from the deck onto the table (from the deck into the dealer
* hand)
*
* @param dealer Poker dealer instance.
* @param count Count of cards to deal.
*/
void pokerDealerTurn(pokerdealer_t *dealer, uint8_t count);
/**
* Burns a set of cards off the top of the deck into the graveyard.
*
* @param dealer Poker dealer instance.
* @param count Count of cards to burn.
*/
void pokerDealerBurn(pokerdealer_t *dealer, uint8_t count);
/**
* Deal a card to a player.
*
* @param dealer Poker dealer instance.
* @param player Poker player to deal to.
*/
void pokerDealerDeal(pokerdealer_t *dealer, pokerplayer_t *player);
/**
* Deal card(s) to every active player.
*
* @param poker Poker game instance.
* @param count Count of cards to deal.
*/
void pokerDealerDealAll(poker_t *poker, uint8_t count);