/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #pragma once #include "../libs.h" //////////////////////////////////////////////////////////////////////////////// // Cards //////////////////////////////////////////////////////////////////////////////// // Aces #define CARD_CLUBS_TWO 0x00 #define CARD_CLUBS_THREE 0x01 #define CARD_CLUBS_FOUR 0x02 #define CARD_CLUBS_FIVE 0x03 #define CARD_CLUBS_SIX 0x04 #define CARD_CLUBS_SEVEN 0x05 #define CARD_CLUBS_EIGHT 0x06 #define CARD_CLUBS_NINE 0x07 #define CARD_CLUBS_TEN 0x08 #define CARD_CLUBS_JACK 0x09 #define CARD_CLUBS_QUEEN 0x0A #define CARD_CLUBS_KING 0x0B #define CARD_CLUBS_ACE 0x0C // Diamonds #define CARD_DIAMONDS_TWO 0x0D #define CARD_DIAMONDS_THREE 0x0E #define CARD_DIAMONDS_FOUR 0x0F #define CARD_DIAMONDS_FIVE 0x10 #define CARD_DIAMONDS_SIX 0x11 #define CARD_DIAMONDS_SEVEN 0x12 #define CARD_DIAMONDS_EIGHT 0x13 #define CARD_DIAMONDS_NINE 0x14 #define CARD_DIAMONDS_TEN 0x15 #define CARD_DIAMONDS_JACK 0x16 #define CARD_DIAMONDS_QUEEN 0x17 #define CARD_DIAMONDS_KING 0x18 #define CARD_DIAMONDS_ACE 0x19 // Hearts #define CARD_HEARTS_TWO 0x1A #define CARD_HEARTS_THREE 0x1B #define CARD_HEARTS_FOUR 0x1C #define CARD_HEARTS_FIVE 0x1D #define CARD_HEARTS_SIX 0x1E #define CARD_HEARTS_SEVEN 0x1F #define CARD_HEARTS_EIGHT 0x20 #define CARD_HEARTS_NINE 0x21 #define CARD_HEARTS_TEN 0x22 #define CARD_HEARTS_JACK 0x23 #define CARD_HEARTS_QUEEN 0x24 #define CARD_HEARTS_KING 0x25 #define CARD_HEARTS_ACE 0x26 // Spades #define CARD_SPADES_TWO 0x27 #define CARD_SPADES_THREE 0x28 #define CARD_SPADES_FOUR 0x29 #define CARD_SPADES_FIVE 0x2A #define CARD_SPADES_SIX 0x2B #define CARD_SPADES_SEVEN 0x2C #define CARD_SPADES_EIGHT 0x2D #define CARD_SPADES_NINE 0x2E #define CARD_SPADES_TEN 0x2F #define CARD_SPADES_JACK 0x30 #define CARD_SPADES_QUEEN 0x31 #define CARD_SPADES_KING 0x32 #define CARD_SPADES_ACE 0x33 //////////////////////////////////////////////////////////////////////////////// // Suits //////////////////////////////////////////////////////////////////////////////// #define CARD_SUIT_CLUBS 0x00 #define CARD_SUIT_DIAMONDS 0x01 #define CARD_SUIT_HEARTS 0x02 #define CARD_SUIT_SPADES 0x03 //////////////////////////////////////////////////////////////////////////////// // Card numbers //////////////////////////////////////////////////////////////////////////////// #define CARD_TWO 0x00 #define CARD_THREE 0x01 #define CARD_FOUR 0x02 #define CARD_FIVE 0x03 #define CARD_SIX 0x04 #define CARD_SEVEN 0x05 #define CARD_EIGHT 0x06 #define CARD_NINE 0x07 #define CARD_TEN 0x08 #define CARD_JACK 0x09 #define CARD_QUEEN 0x0A #define CARD_KING 0x0B #define CARD_ACE 0x0C /** Count of cards in each suit */ #define CARD_COUNT_PER_SUIT 13 /** Count of suits */ #define CARD_SUIT_COUNT 4 /** Standard Card Deck Size */ #define CARD_DECK_SIZE 52 /** Type Representing a card's id */ typedef uint8_t card_t;