/* * $VER: jack.h v1.0 (03.08.94) * * This file defines the card structure and creates a compleat deck. */ #include "face.h" /* * Data and Image structures for the suits */ static UWORD __chip diamond_data[] = { 0x0800, 0x3E00, 0x7F00, 0xFF80, 0x7F00, 0x3E00, 0x0800, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, }; struct Image diamond = { 0, 0, 9, 7, 2, diamond_data, 0x3, 0x0, NULL, }; static UWORD __chip heart_data[] = { 0x7700, 0xFF80, 0xFF80, 0x7F00, 0x3E00, 0x1C00, 0x0800, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, }; struct Image heart = { 0, 0, 9, 7, 2, heart_data, 0x3, 0x0, NULL, }; static UWORD __chip spade_data[] = { 0x0800, 0x3E00, 0x7F00, 0xFF80, 0x7F00, 0x0800, 0x3E00, 0xF780, 0xC180, 0x8080, 0x0000, 0x8080, 0xF780, 0xC180, }; struct Image spade = { 0, 0, 9, 7, 2, spade_data, 0x3, 0x0, NULL, }; static UWORD __chip club_data[] = { 0x1C00, 0x1C00, 0x7F00, 0xFF80, 0x7F00, 0x0800, 0x3E00, 0xE380, 0xE380, 0x8080, 0x0000, 0x8080, 0xF780, 0xC180, }; struct Image club = { 0, 0, 9, 7, 2, club_data, 0x3, 0x0, NULL, }; #define HEARTS 0x80 #define DIAMONDS 0x40 #define SPADES 0x20 #define CLUBS 0x10 struct Card { /* The Card structure */ UBYTE Flags; /* Suit | ID number (1 - 13); */ UBYTE *Cords; /* Co-ordinates to draw suit image */ UBYTE *Name; /* Letter to print in card */ struct Image *Face; /* If a face-card, ptr-to Image structure */ }; /* * Co-ordinates for the card structures */ static UBYTE co1[] = {25, 17}; static UBYTE co2[] = {26,12, 26,21}; static UBYTE co3[] = {10,12, 26,17, 41,21}; static UBYTE co4[] = {12,12, 39,12, 12,21, 39,21}; static UBYTE co5[] = {10,12, 41,12, 26,17, 10,21, 41,21}; static UBYTE co6[] = {10,12, 26,12, 41,12, 10,21, 26,21, 41,21}; static UBYTE co7[] = {10,9, 26,9, 41,9, 26,17, 10,25, 26,25, 41,25}; static UBYTE co8[] = {5,12,19,12, 33,12, 46,12, 5,21, 19,21, 33,21, 46,21}; static UBYTE co9[] = {5,9,19,9,33,9, 12,17,26,17,40,17, 19,25,33,25,46,25}; static UBYTE co0[] = {5,9,19,9,33,9,46,9,12,17,39,17,5,25,19,25,33,25,46,25}; static UBYTE coF[] = {4, 9}; /* * A complete 'deck' of Cards. */ struct Card jdeck[] = { { HEARTS | 0x1, co1, "A", NULL}, { HEARTS | 0x2, co2, "2", NULL}, { HEARTS | 0x3, co3, "3", NULL}, { HEARTS | 0x4, co4, "4", NULL}, { HEARTS | 0x5, co5, "5", NULL}, { HEARTS | 0x6, co6, "6", NULL}, { HEARTS | 0x7, co7, "7", NULL}, { HEARTS | 0x8, co8, "8", NULL}, { HEARTS | 0x9, co9, "9", NULL}, { HEARTS | 0xA, co0, "10", NULL}, { HEARTS | 0xB, coF, "J", &jack}, { HEARTS | 0xC, coF, "Q", &queen}, { HEARTS | 0xD, coF, "K", &king}, { DIAMONDS | 0x1, co1, "A", NULL}, { DIAMONDS | 0x2, co2, "2", NULL}, { DIAMONDS | 0x3, co3, "3", NULL}, { DIAMONDS | 0x4, co4, "4", NULL}, { DIAMONDS | 0x5, co5, "5", NULL}, { DIAMONDS | 0x6, co6, "6", NULL}, { DIAMONDS | 0x7, co7, "7", NULL}, { DIAMONDS | 0x8, co8, "8", NULL}, { DIAMONDS | 0x9, co9, "9", NULL}, { DIAMONDS | 0xA, co0, "10", NULL}, { DIAMONDS | 0xB, coF, "J", &jack}, { DIAMONDS | 0xC, coF, "Q", &queen}, { DIAMONDS | 0xD, coF, "K", &king}, { SPADES | 0x1, co1, "A", NULL}, { SPADES | 0x2, co2, "2", NULL}, { SPADES | 0x3, co3, "3", NULL}, { SPADES | 0x4, co4, "4", NULL}, { SPADES | 0x5, co5, "5", NULL}, { SPADES | 0x6, co6, "6", NULL}, { SPADES | 0x7, co7, "7", NULL}, { SPADES | 0x8, co8, "8", NULL}, { SPADES | 0x9, co9, "9", NULL}, { SPADES | 0xA, co0, "10", NULL}, { SPADES | 0xB, coF, "J", &jack}, { SPADES | 0xC ,coF, "Q", &queen}, { SPADES | 0xD, coF, "K", &king}, { CLUBS | 0x1, co1, "A", NULL}, { CLUBS | 0x2, co2, "2", NULL}, { CLUBS | 0x3, co3, "3", NULL}, { CLUBS | 0x4, co4, "4", NULL}, { CLUBS | 0x5, co5, "5", NULL}, { CLUBS | 0x6, co6, "6", NULL}, { CLUBS | 0x7, co7, "7", NULL}, { CLUBS | 0x8, co8, "8", NULL}, { CLUBS | 0x9, co9, "9", NULL}, { CLUBS | 0xA, co0, "10", NULL}, { CLUBS | 0xB, coF, "J", &jack}, { CLUBS | 0xC, coF, "Q", &queen}, { CLUBS | 0xD, coF, "K", &king}, };