54 lines
879 B
C
54 lines
879 B
C
|
#include "cdt.h"
|
||
|
|
||
|
|
||
|
typedef INT CD;
|
||
|
|
||
|
// CaRD struct, this is what a card be
|
||
|
typedef struct _crd
|
||
|
{
|
||
|
unsigned cd : 15; // card # (1..52)
|
||
|
unsigned fUp : 1; // is this card up/down
|
||
|
PT pt; // upper-left corner of card
|
||
|
} CRD;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/* WARNING: Order of su's is assumed */
|
||
|
#define suClub 0
|
||
|
#define suDiamond 1
|
||
|
#define suHeart 2
|
||
|
#define suSpade 3
|
||
|
#define suMax 4
|
||
|
#define suFirst suClub
|
||
|
|
||
|
#define raAce 0
|
||
|
#define raDeuce 1
|
||
|
#define raTres 2
|
||
|
#define raFour 3
|
||
|
#define raFive 4
|
||
|
#define raSix 5
|
||
|
#define raSeven 6
|
||
|
#define raEight 7
|
||
|
#define raNine 8
|
||
|
#define raTen 9
|
||
|
#define raJack 10
|
||
|
#define raQueen 11
|
||
|
#define raKing 12
|
||
|
#define raMax 13
|
||
|
#define raNil 15
|
||
|
#define raFirst raAce
|
||
|
|
||
|
typedef INT RA;
|
||
|
typedef INT SU;
|
||
|
|
||
|
#define cdNil 0x3c
|
||
|
|
||
|
|
||
|
#define cIDFACEDOWN (IDFACEDOWNLAST-IDFACEDOWNFIRST+1)
|
||
|
|
||
|
#define SuFromCd(cd) ((cd)&0x03)
|
||
|
#define RaFromCd(cd) ((cd)>>2)
|
||
|
#define Cd(ra, su) (((ra)<<2)|(su))
|
||
|
|