home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / wbgames / blackjack / source.lha / source / jack.h < prev    next >
C/C++ Source or Header  |  1994-08-24  |  4KB  |  129 lines

  1. /*
  2.  * $VER: jack.h v1.0 (03.08.94)
  3.  *
  4.  * This file defines the card structure and creates a compleat deck.
  5.  */
  6.  
  7. #include "face.h"
  8.  
  9. /*
  10.  * Data and Image structures for the suits
  11.  */
  12. static UWORD __chip diamond_data[] = {
  13.     0x0800, 0x3E00, 0x7F00, 0xFF80, 0x7F00, 0x3E00, 0x0800, 
  14.     0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80,
  15. };
  16. struct Image diamond = {
  17.     0, 0, 9, 7, 2, diamond_data, 0x3, 0x0, NULL,
  18. };
  19.  
  20. static UWORD __chip heart_data[] = {
  21.     0x7700, 0xFF80, 0xFF80, 0x7F00, 0x3E00, 0x1C00, 0x0800, 
  22.     0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80, 0xFF80,
  23. };
  24. struct Image heart = {
  25.     0, 0, 9, 7, 2, heart_data, 0x3, 0x0, NULL,
  26. };
  27.  
  28. static UWORD __chip spade_data[] = {
  29.     0x0800, 0x3E00, 0x7F00, 0xFF80, 0x7F00, 0x0800, 0x3E00, 
  30.     0xF780, 0xC180, 0x8080, 0x0000, 0x8080, 0xF780, 0xC180,
  31. };
  32. struct Image spade = {
  33.     0, 0, 9, 7, 2, spade_data, 0x3, 0x0, NULL,
  34. };
  35.  
  36. static UWORD __chip club_data[] = {
  37.     0x1C00, 0x1C00, 0x7F00, 0xFF80, 0x7F00, 0x0800, 0x3E00, 
  38.     0xE380, 0xE380, 0x8080, 0x0000, 0x8080, 0xF780, 0xC180,
  39. };
  40. struct Image club = {
  41.     0, 0, 9, 7, 2, club_data, 0x3, 0x0, NULL,
  42. };
  43.  
  44.  
  45. #define HEARTS   0x80
  46. #define DIAMONDS 0x40
  47. #define SPADES   0x20
  48. #define CLUBS    0x10
  49.  
  50. struct Card {                /* The Card structure                     */
  51.     UBYTE         Flags;     /* Suit | ID number (1 - 13);             */
  52.     UBYTE        *Cords;     /* Co-ordinates to draw suit image        */
  53.     UBYTE        *Name;      /* Letter to print in card                */
  54.     struct Image *Face;      /* If a face-card, ptr-to Image structure */
  55. };
  56.  
  57. /*
  58.  * Co-ordinates for the card structures
  59.  */
  60. static UBYTE co1[] = {25, 17};
  61. static UBYTE co2[] = {26,12, 26,21};
  62. static UBYTE co3[] = {10,12, 26,17, 41,21};
  63. static UBYTE co4[] = {12,12, 39,12, 12,21, 39,21};
  64. static UBYTE co5[] = {10,12, 41,12, 26,17, 10,21, 41,21};
  65. static UBYTE co6[] = {10,12, 26,12, 41,12, 10,21, 26,21, 41,21};
  66. static UBYTE co7[] = {10,9, 26,9, 41,9, 26,17, 10,25, 26,25, 41,25};
  67. static UBYTE co8[] = {5,12,19,12, 33,12, 46,12, 5,21, 19,21, 33,21, 46,21};
  68. static UBYTE co9[] = {5,9,19,9,33,9, 12,17,26,17,40,17, 19,25,33,25,46,25};
  69. static UBYTE co0[] = {5,9,19,9,33,9,46,9,12,17,39,17,5,25,19,25,33,25,46,25};
  70. static UBYTE coF[] = {4, 9};
  71.  
  72. /*
  73.  * A complete 'deck' of Cards.
  74.  */
  75. struct Card jdeck[] = {
  76.     { HEARTS | 0x1, co1, "A", NULL},
  77.     { HEARTS | 0x2, co2, "2", NULL},
  78.     { HEARTS | 0x3, co3, "3", NULL},
  79.     { HEARTS | 0x4, co4, "4", NULL},
  80.     { HEARTS | 0x5, co5, "5", NULL},
  81.     { HEARTS | 0x6, co6, "6", NULL},
  82.     { HEARTS | 0x7, co7, "7", NULL},
  83.     { HEARTS | 0x8, co8, "8", NULL},
  84.     { HEARTS | 0x9, co9, "9", NULL},
  85.     { HEARTS | 0xA, co0, "10", NULL},
  86.     { HEARTS | 0xB, coF, "J", &jack},
  87.     { HEARTS | 0xC, coF, "Q", &queen},
  88.     { HEARTS | 0xD, coF, "K", &king},
  89.     { DIAMONDS | 0x1, co1, "A", NULL},
  90.     { DIAMONDS | 0x2, co2, "2", NULL},
  91.     { DIAMONDS | 0x3, co3, "3", NULL},
  92.     { DIAMONDS | 0x4, co4, "4", NULL},
  93.     { DIAMONDS | 0x5, co5, "5", NULL},
  94.     { DIAMONDS | 0x6, co6, "6", NULL},
  95.     { DIAMONDS | 0x7, co7, "7", NULL},
  96.     { DIAMONDS | 0x8, co8, "8", NULL},
  97.     { DIAMONDS | 0x9, co9, "9", NULL},
  98.     { DIAMONDS | 0xA, co0, "10", NULL},
  99.     { DIAMONDS | 0xB, coF, "J", &jack},
  100.     { DIAMONDS | 0xC, coF, "Q", &queen},
  101.     { DIAMONDS | 0xD, coF, "K", &king},
  102.     { SPADES | 0x1, co1, "A", NULL},
  103.     { SPADES | 0x2, co2, "2", NULL},
  104.     { SPADES | 0x3, co3, "3", NULL},
  105.     { SPADES | 0x4, co4, "4", NULL},
  106.     { SPADES | 0x5, co5, "5", NULL},
  107.     { SPADES | 0x6, co6, "6", NULL},
  108.     { SPADES | 0x7, co7, "7", NULL},
  109.     { SPADES | 0x8, co8, "8", NULL},
  110.     { SPADES | 0x9, co9, "9", NULL},
  111.     { SPADES | 0xA, co0, "10", NULL},
  112.     { SPADES | 0xB, coF, "J", &jack},
  113.     { SPADES | 0xC ,coF, "Q", &queen},
  114.     { SPADES | 0xD, coF, "K", &king},
  115.     { CLUBS | 0x1, co1, "A", NULL},
  116.     { CLUBS | 0x2, co2, "2", NULL},
  117.     { CLUBS | 0x3, co3, "3", NULL},
  118.     { CLUBS | 0x4, co4, "4", NULL},
  119.     { CLUBS | 0x5, co5, "5", NULL},
  120.     { CLUBS | 0x6, co6, "6", NULL},
  121.     { CLUBS | 0x7, co7, "7", NULL},
  122.     { CLUBS | 0x8, co8, "8", NULL},
  123.     { CLUBS | 0x9, co9, "9", NULL},
  124.     { CLUBS | 0xA, co0, "10", NULL},
  125.     { CLUBS | 0xB, coF, "J", &jack},
  126.     { CLUBS | 0xC, coF, "Q", &queen},
  127.     { CLUBS | 0xD, coF, "K", &king},
  128. };
  129.