home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / top2src.zip / GAMES.ZIP / OLDPOKER.ZIP / OLDPKNAM.C < prev    next >
C/C++ Source or Header  |  1995-03-09  |  4KB  |  142 lines

  1. #include "top.h"
  2.  
  3. char XFAR *poker_gethandname(poker_player_typ *handdat)
  4. {
  5. char XFAR *handnam;
  6. unsigned char val[2];
  7. unsigned XINT handval;
  8. unsigned XINT hscore;
  9.  
  10. handnam = wordret;
  11.  
  12. hscore = poker_scorehand(handdat);
  13. val[0] = hscore & 0x000F; /* First Hand Value Parameter */
  14. val[1] = (hscore & 0x00F0) >> 4; /* Second Hand Value Parameter */
  15. handval = hscore & 0xF000; /* Hand Type */
  16.  
  17. if (handval == POKHAND_HIGHCARD)
  18.     {
  19.     sprintf(handnam, "^pHigh Card (^k%s^p).", card_names[val[0]]);
  20.     }
  21. if (handval == POKHAND_ONEPAIR)
  22.     {
  23.     sprintf(handnam, "^pA pair of ^k%s%s^p.", card_names[val[0]],
  24.             val[0] == 5 ? "es" : "s");
  25.     }
  26. if (handval == POKHAND_TWOPAIR)
  27.     {
  28.     sprintf(handnam, "^pTwo pair, ^k%s%s^p and ^k%s%s^p!",
  29.             card_names[val[1]], val[1] == 5 ? "es" : "s",
  30.             card_names[val[0]], val[0] == 5 ? "es" : "s");
  31.     }
  32. if (handval == POKHAND_THREEKIND)
  33.     {
  34.     sprintf(handnam, "^pThree ^k%s%s^p!!",
  35.             card_names[val[0]], val[0] == 5 ? "es" : "s");
  36.     }
  37. if (handval == POKHAND_STRAIGHT)
  38.     {
  39.     sprintf(handnam, "^I^pA%s ^k%s^p high straight!!!",
  40.             (val[0] == 0 || val[0] == 7 || val[0] == 13) ? "n" : "",
  41.             card_names[val[0]]);
  42.     }
  43. if (handval == POKHAND_FLUSH)
  44.     {
  45.     sprintf(handnam, "^I^pA flush in ^k%ss^p (^k%s^p high)!!!!",
  46.             card_suitnames[handdat->cards[4] % 4], card_names[val[0]]);
  47.     }
  48. if (handval == POKHAND_FULLHOUSE)
  49.     {
  50.     sprintf(handnam, "^I^pA full house, ^k%s%s^p over ^k%s%s^p!!!!!",
  51.             card_names[val[1]], val[1] == 5 ? "es" : "s",
  52.             card_names[val[0]], val[0] == 5 ? "es" : "s");
  53.     }
  54. if (handval == POKHAND_FOURKIND)
  55.     {
  56.     sprintf(handnam, "^I^pFour ^k%s%s^p!!!!!!",
  57.             card_names[val[0]], val[0] == 5 ? "es" : "s");
  58.     }
  59. if (handval == POKHAND_STRAIGHTFLUSH)
  60.     {
  61.     if (hscore == POKHAND_ROYALFLUSH)
  62.         {
  63.         sprintf(handnam, "^I^pA ROYAL FLUSH IN ^k%ss^p!!!!!!!!!!!!!!!",
  64.                 card_suitnames[handdat->cards[4] % 4]);
  65.         }
  66.     else
  67.         {
  68.         sprintf(handnam, "^I^pA straight flush in ^k%ss^p (^k%s^p "
  69.                 "high)!!!!!!!!", card_suitnames[handdat->cards[4] % 4],
  70.                 card_names[val[0]]);
  71.         }
  72.     }
  73.  
  74. return handnam;
  75. }
  76.  
  77. char XFAR *poker_getshortname(poker_player_typ *handdat)
  78. {
  79. char XFAR *handnam;
  80. unsigned char val[2];
  81. unsigned XINT handval;
  82. unsigned XINT hscore;
  83.  
  84. handnam = wordret;
  85.  
  86. hscore = poker_scorehand(handdat);
  87. val[0] = hscore & 0x000F; /* First Hand Value Parameter */
  88. val[1] = (hscore & 0x00F0) >> 4; /* Second Hand Value Parameter */
  89. handval = hscore & 0xF000; /* Hand Type */
  90.  
  91. if (handval == POKHAND_HIGHCARD)
  92.     {
  93.     sprintf(handnam, "^k%c^p High", card_symbols[val[0]]);
  94.     }
  95. if (handval == POKHAND_ONEPAIR)
  96.     {
  97.     sprintf(handnam, "^pPair Of ^k%c^ps", card_symbols[val[0]]);
  98.     }
  99. if (handval == POKHAND_TWOPAIR)
  100.     {
  101.     sprintf(handnam, "^pTwo Pair (^k%c^ps & ^k%c^ps)",
  102.             card_symbols[val[1]], card_symbols[val[0]]);
  103.     }
  104. if (handval == POKHAND_THREEKIND)
  105.     {
  106.     sprintf(handnam, "^pThree ^k%c^ps", card_symbols[val[0]]);
  107.     }
  108. if (handval == POKHAND_STRAIGHT)
  109.     {
  110.     sprintf(handnam, "^k%c^p High Straight", card_symbols[val[0]]);
  111.     }
  112. if (handval == POKHAND_FLUSH)
  113.     {
  114.     sprintf(handnam, "^pFlush (^k%c^p, ^k%c^p High)",
  115.             card_suits[handdat->cards[4] % 4], card_symbols[val[0]]);
  116.     }
  117. if (handval == POKHAND_FULLHOUSE)
  118.     {
  119.     sprintf(handnam, "^pFull House (^k%c^p/^k%c^p)",
  120.             card_symbols[val[1]], card_symbols[val[0]]);
  121.     }
  122. if (handval == POKHAND_FOURKIND)
  123.     {
  124.     sprintf(handnam, "^pFour ^k%c^ps", card_symbols[val[0]]);
  125.     }
  126. if (handval == POKHAND_STRAIGHTFLUSH)
  127.     {
  128.     if (hscore == POKHAND_ROYALFLUSH)
  129.         {
  130.         sprintf(handnam, "^pRoyal Flush (^k%c^p, ^k%c^p High)",
  131.                 card_suits[handdat->cards[4] % 4], card_symbols[val[0]]);
  132.         }
  133.     else
  134.         {
  135.         sprintf(handnam, "^pStraight Flush (^k%c^p, ^k%c^p High)",
  136.                 card_suits[handdat->cards[4] % 4], card_symbols[val[0]]);
  137.         }
  138.     }
  139.  
  140. return handnam;
  141. }
  142.