Started merging new poker code in.
This commit is contained in:
76
backup/poker/dealer.h
Normal file
76
backup/poker/dealer.h
Normal file
@@ -0,0 +1,76 @@
|
||||
// Copyright (c) 2021 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#pragma once
|
||||
#include "../libs.h"
|
||||
#include "card.h"
|
||||
#include "player.h"
|
||||
|
||||
/** How many cards the dealer can hold in their hand */
|
||||
#define POKER_DEALER_HAND_SIZE 5
|
||||
|
||||
/** How many cards the grave can hold */
|
||||
#define POKER_DEALER_GRAVE_SIZE CARD_DECK_SIZE
|
||||
|
||||
/** Which VN Character index is the dealer */
|
||||
#define POKER_DEALER_INDEX POKER_PLAYER_HUMAN_INDEX
|
||||
|
||||
/** Representation of the dealer state */
|
||||
typedef struct {
|
||||
/** Current Card Deck */
|
||||
card_t deck[CARD_DECK_SIZE];
|
||||
uint8_t deckSize;
|
||||
|
||||
/** Dealer Hand */
|
||||
card_t cards[POKER_DEALER_HAND_SIZE];
|
||||
uint8_t cardsFacing;
|
||||
|
||||
/** Card grave (where spent cards go when burned */
|
||||
card_t grave[POKER_DEALER_GRAVE_SIZE];
|
||||
uint8_t graveSize;
|
||||
} pokerdealer_t;
|
||||
|
||||
/**
|
||||
* 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 dealer Poker dealer instance.
|
||||
* @param players Array of poker players.
|
||||
* @param count Count of cards to deal.
|
||||
*/
|
||||
void pokerDealerDealAll(
|
||||
pokerdealer_t *dealer, pokerplayer_t *players, uint8_t count
|
||||
);
|
Reference in New Issue
Block a user