A card solitaire game for the TI-84 Plus/83 Premium CE graphing calculators.
1#ifndef CARD_H
2#define CARD_H
3
4typedef unsigned char card_t;
5
6#define CARD_SUIT 0xe0
7#define CARD_VALUE 0x1f
8
9#define card_get_value(card) (card & CARD_VALUE)
10#define card_get_suit(card) ((card & CARD_SUIT) >> 5)
11#define pack_card(suit,value) ((card_t)((suit << 5) | value))
12#define empty_card() ((card_t)(0))
13#define card_exists(card) (card != 0x00)
14
15#define NUM_CARDS 74
16#define CARD_SUIT_TRUMP 0x80
17#define CARD_NUM_TRUMPS 22
18#define CARD_VAL_JACK 11
19#define CARD_VAL_KING (CARD_VAL_JACK + 2)
20
21#define card_is_face(card) ((card & CARD_VALUE) >= CARD_VAL_JACK)
22#define card_is_king(card) ((card & CARD_VALUE) == CARD_VAL_KING)
23#define card_is_trump(card) (card & CARD_SUIT_TRUMP)
24
25#endif