54 lines
884 B
C
54 lines
884 B
C
#include "cdt.h"
|
|
|
|
|
|
typedef INT CD;
|
|
|
|
/* CaRD struct, this is what a card be */
|
|
typedef struct _crd
|
|
{
|
|
WORD cd : 15; /* card # (1..52) */
|
|
WORD 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))
|
|
|