/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include <dawn/dawn.h> /** * Fills a deck with a standard set of cards (unshuffled) * * @param deck Deck to fill. Must be at least 52 elements. */ void cardDeckFill(card_t *deck); /** * Shuffles the given hand or deck. * * @param hand The hand/deck to shuffle. * @param cardCount The amount of cards that are in that deck/hand. */ void cardShuffle(card_t *hand, uint8_t cardCount); /** * Deals a card of the top of the deck into the given hand. * * @param deck Deck to take from. * @param hand Hand to put into. * @param deckSize Size of the current deck. * @param handSize Size of the current hand. */ void cardDeal(card_t *deck, card_t *hand, uint8_t deckSize, uint8_t handSize);