home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / top2src.zip / GAMES.ZIP / POKERNAM.C < prev    next >
C/C++ Source or Header  |  1995-05-04  |  6KB  |  178 lines

  1. #include "top.h"
  2.  
  3. char XFAR *poker_gethandname(poker_game_typ *hgame, char *handdat)
  4. {
  5. char XFAR *handnam;
  6. unsigned char val[2], suit;
  7. unsigned XINT handval;
  8. unsigned XINT hscore;
  9. unsigned char vallng1[31], vallng2[31], suitlng[31], vplu[3] = "Plu";
  10.  
  11. handnam = wordret;
  12.  
  13. hscore = poker_scorehand(hgame, handdat);
  14. val[0] = hscore & 0x000F; /* First Hand Value Parameter */
  15. val[1] = (hscore & 0x00F0) >> 4; /* Second Hand Value Parameter */
  16. suit = hgame->cardsuits[handdat[4]]; /* Suit Value */
  17. handval = hscore & 0xF000; /* Hand Type */
  18.  
  19. itoa(val[0], outnum[0], 10);
  20. sprintf(vallng1, "CardLongSngValue%s", outnum[0]);
  21. itoa(val[1], outnum[0], 10);
  22. sprintf(vallng2, "CardLongSngValue%s", outnum[0]);
  23. itoa(suit + 1, outnum[0], 10);
  24. sprintf(suitlng, "CardLongPluSuit%s", outnum[0]);
  25.  
  26. if (handval == POKHAND_HIGHCARD)
  27.     {
  28.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameLHighCard"),
  29.                          getlang(vallng1));
  30.     }
  31. if (handval == POKHAND_ONEPAIR)
  32.     {
  33.     memcpy(&vallng1[8], vplu, 3);
  34.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameLOnePair"),
  35.                          getlang(vallng1));
  36.     }
  37. if (handval == POKHAND_TWOPAIR)
  38.     {
  39.     memcpy(&vallng2[8], vplu, 3);
  40.     memcpy(&vallng1[8], vplu, 3);
  41.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameLTwoPair"),
  42.                          getlang(vallng2), getlang(vallng1));
  43.     }
  44. if (handval == POKHAND_THREEKIND)
  45.     {
  46.     memcpy(&vallng1[8], vplu, 3);
  47.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameL3Kind"),
  48.                          getlang(vallng1));
  49.     }
  50. if (handval == POKHAND_STRAIGHT)
  51.     {
  52.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameLStraight"),
  53.                          getlang(vallng1));
  54.     }
  55. if (handval == POKHAND_FLUSH)
  56.     {
  57.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameLFlush"),
  58.                          getlang(suitlng), getlang(vallng1));
  59.     }
  60. if (handval == POKHAND_FULLHOUSE)
  61.     {
  62.     memcpy(&vallng2[8], vplu, 3);
  63.     memcpy(&vallng1[8], vplu, 3);
  64.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameLFHouse"),
  65.                          getlang(vallng2), getlang(vallng1));
  66.     }
  67. if (handval == POKHAND_FOURKIND)
  68.     {
  69.     memcpy(&vallng1[8], vplu, 3);
  70.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameL4Kind"),
  71.                          getlang(vallng1));
  72.     }
  73. if (handval == POKHAND_STRAIGHTFLUSH)
  74.     {
  75.     memcpy(&vallng1[8], vplu, 3);
  76.     if (hscore != POKHAND_ROYALFLUSH)
  77.         {
  78.         handnam = top_output(OUT_STRINGNF, getlang("PokerNameLStrFlush"),
  79.                              getlang(suitlng), getlang(vallng1));
  80.         }
  81.     else
  82.         {
  83.         handnam = top_output(OUT_STRINGNF, getlang("PokerNameLRoyFlush"),
  84.                              getlang(suitlng));
  85.         }
  86.     }
  87.  
  88. return handnam;
  89. }
  90.  
  91. char XFAR *poker_getshortname(poker_game_typ *hgame, char *handdat)
  92. {
  93. char XFAR *handnam;
  94. unsigned char val[2], suit;
  95. unsigned XINT handval;
  96. unsigned XINT hscore;
  97. unsigned char vallng1[31], vallng2[31], suitlng[31], vplu[3] = "Plu";
  98.  
  99. handnam = wordret;
  100.  
  101. hscore = poker_scorehand(hgame, handdat);
  102. val[0] = hscore & 0x000F; /* First Hand Value Parameter */
  103. val[1] = (hscore & 0x00F0) >> 4; /* Second Hand Value Parameter */
  104. suit = hgame->cardsuits[handdat[4]]; /* Suit Value */
  105. handval = hscore & 0xF000; /* Hand Type */
  106.  
  107. itoa(val[0], outnum[0], 10);
  108. sprintf(vallng1, "CardShrtSngValue%s", outnum[0]);
  109. itoa(val[1], outnum[0], 10);
  110. sprintf(vallng2, "CardShrtSngValue%s", outnum[0]);
  111. itoa(suit, outnum[0], 10);
  112. sprintf(suitlng, "CardShrtPluSuit%s", outnum[0]);
  113.  
  114. if (handval == POKHAND_HIGHCARD)
  115.     {
  116.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameSHighCard"),
  117.                          getlang(vallng1));
  118.     }
  119. if (handval == POKHAND_ONEPAIR)
  120.     {
  121.     memcpy(&vallng1[8], vplu, 3);
  122.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameSOnePair"),
  123.                          getlang(vallng1));
  124.     }
  125. if (handval == POKHAND_TWOPAIR)
  126.     {
  127.     memcpy(&vallng2[8], vplu, 3);
  128.     memcpy(&vallng1[8], vplu, 3);
  129.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameSTwoPair"),
  130.                          getlang(vallng2), getlang(vallng1));
  131.     }
  132. if (handval == POKHAND_THREEKIND)
  133.     {
  134.     memcpy(&vallng1[8], vplu, 3);
  135.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameS3Kind"),
  136.                          getlang(vallng1));
  137.     }
  138. if (handval == POKHAND_STRAIGHT)
  139.     {
  140.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameSStraight"),
  141.                          getlang(vallng1));
  142.     }
  143. if (handval == POKHAND_FLUSH)
  144.     {
  145.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameSFlush"),
  146.                          getlang(suitlng), getlang(vallng1));
  147.     }
  148. if (handval == POKHAND_FULLHOUSE)
  149.     {
  150.     memcpy(&vallng2[8], vplu, 3);
  151.     memcpy(&vallng1[8], vplu, 3);
  152.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameSFHouse"),
  153.                          getlang(vallng2), getlang(vallng1));
  154.     }
  155. if (handval == POKHAND_FOURKIND)
  156.     {
  157.     memcpy(&vallng1[8], vplu, 3);
  158.     handnam = top_output(OUT_STRINGNF, getlang("PokerNameS4Kind"),
  159.                          getlang(vallng1));
  160.     }
  161. if (handval == POKHAND_STRAIGHTFLUSH)
  162.     {
  163.     memcpy(&vallng1[8], vplu, 3);
  164.     if (hscore != POKHAND_ROYALFLUSH)
  165.         {
  166.         handnam = top_output(OUT_STRINGNF, getlang("PokerNameSStrFlush"),
  167.                              getlang(suitlng), getlang(vallng1));
  168.         }
  169.     else
  170.         {
  171.         handnam = top_output(OUT_STRINGNF, getlang("PokerNameSRoyFlush"),
  172.                              getlang(suitlng));
  173.         }
  174.     }
  175.  
  176. return handnam;
  177. }
  178.