99 lines
2.5 KiB
C
99 lines
2.5 KiB
C
/**
|
|
* 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_ACE 0x00
|
|
#define CARD_CLUBS_TWO 0x01
|
|
#define CARD_CLUBS_THREE 0x02
|
|
#define CARD_CLUBS_FOUR 0x03
|
|
#define CARD_CLUBS_FIVE 0x04
|
|
#define CARD_CLUBS_SIX 0x05
|
|
#define CARD_CLUBS_SEVEN 0x06
|
|
#define CARD_CLUBS_EIGHT 0x07
|
|
#define CARD_CLUBS_NINE 0x08
|
|
#define CARD_CLUBS_TEN 0x09
|
|
#define CARD_CLUBS_JACK 0x0A
|
|
#define CARD_CLUBS_QUEEN 0x0B
|
|
#define CARD_CLUBS_KING 0x0C
|
|
|
|
// Diamonds
|
|
#define CARD_DIAMONDS_ACE 0x0D
|
|
#define CARD_DIAMONDS_TWO 0x0E
|
|
#define CARD_DIAMONDS_THREE 0x0F
|
|
#define CARD_DIAMONDS_FOUR 0x10
|
|
#define CARD_DIAMONDS_FIVE 0x11
|
|
#define CARD_DIAMONDS_SIX 0x12
|
|
#define CARD_DIAMONDS_SEVEN 0x13
|
|
#define CARD_DIAMONDS_EIGHT 0x14
|
|
#define CARD_DIAMONDS_NINE 0x15
|
|
#define CARD_DIAMONDS_TEN 0x16
|
|
#define CARD_DIAMONDS_JACK 0x17
|
|
#define CARD_DIAMONDS_QUEEN 0x18
|
|
#define CARD_DIAMONDS_KING 0x19
|
|
|
|
// Hearts
|
|
#define CARD_HEARTS_ACE 0x1A
|
|
#define CARD_HEARTS_TWO 0x1B
|
|
#define CARD_HEARTS_THREE 0x1C
|
|
#define CARD_HEARTS_FOUR 0x1D
|
|
#define CARD_HEARTS_FIVE 0x1E
|
|
#define CARD_HEARTS_SIX 0x1F
|
|
#define CARD_HEARTS_SEVEN 0x20
|
|
#define CARD_HEARTS_EIGHT 0x21
|
|
#define CARD_HEARTS_NINE 0x22
|
|
#define CARD_HEARTS_TEN 0x23
|
|
#define CARD_HEARTS_JACK 0x24
|
|
#define CARD_HEARTS_QUEEN 0x25
|
|
#define CARD_HEARTS_KING 0x26
|
|
|
|
// Spades
|
|
#define CARD_SPADES_ACE 0x27
|
|
#define CARD_SPADES_TWO 0x28
|
|
#define CARD_SPADES_THREE 0x29
|
|
#define CARD_SPADES_FOUR 0x2A
|
|
#define CARD_SPADES_FIVE 0x2B
|
|
#define CARD_SPADES_SIX 0x2C
|
|
#define CARD_SPADES_SEVEN 0x2D
|
|
#define CARD_SPADES_EIGHT 0x2E
|
|
#define CARD_SPADES_NINE 0x2F
|
|
#define CARD_SPADES_TEN 0x30
|
|
#define CARD_SPADES_JACK 0x31
|
|
#define CARD_SPADES_QUEEN 0x32
|
|
#define CARD_SPADES_KING 0x33
|
|
|
|
// Special Cards
|
|
#define CARD_RED_JOKER 0x34
|
|
#define CARD_BLACK_JOKER 0x35
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Suits
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#define CARD_SUIT_CLUBS 0x01
|
|
#define CARD_SUIT_DIAMONDS 0x02
|
|
#define CARD_SUIT_HEARTS 0x03
|
|
#define CARD_SUIT_SPADES 0x04
|
|
|
|
|
|
/** Count of cards in each suit */
|
|
#define CARD_COUNT_PER_SUIT 13
|
|
|
|
/** Standard Card Deck Size */
|
|
#define CARD_DECK_SIZE 52
|
|
|
|
/** Full Card Deck Size */
|
|
#define CARD_DECK_SIZE_FULL 54
|
|
|
|
/** Type Representing a card's id */
|
|
typedef uint8_t card_t; |