home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / top2src.zip / GAMES.ZIP / NEWPOKER.TXT < prev    next >
Text File  |  1995-05-01  |  6KB  |  115 lines

  1. New Poker Commands & Notes
  2. --------------------------
  3.  
  4. Commands with a * instead of a hyphen are for the future, and not needed for
  5. the first beta.  Anything with a √ (251) after it means it's been completed
  6. _IN_FULL_, except for text displays and text message sends.
  7.  
  8. Main Commands
  9.  
  10. START <gm> - Starts a new game.  Optional <gm> will be the game type.          √
  11. JOIN <num> - Join game number <num>.  Maybe allow ALL here, I dunno.           √
  12. QUIT <num> - Quit game number <num>.  ALL is allowed to quit all games.        √
  13. MAIN <num> - Sets the main poker game to <num>.  OFF sets no main game.        √
  14. SCAN <gam> - Scans players.  Optional <gam> limits to players in one game.
  15. STATS <gm> * View stats for game <gm>.  No <gm> shows historical stats.
  16. KILL <gam> * Sysop only, kills game number <gam>.  ALL works here too.
  17.  
  18. Misc. Commands.  Optional game number can precede any of these commands.
  19.  
  20. DEALER <x> * Sets <x> as the new dealer.  OFF = put down, ON = pick up.
  21.  
  22. The commands below are for dealers only.
  23.  
  24. MINBET <b> * Sets <b> as the minimum bet.
  25. MAXBET <b> * Sets <b> as the maximum bet.
  26. LIMIT <xy> * Sets <xy> as the min. and max.  Format is "x y".  Short to above.
  27. ANTE <bet> * Sets <ante> as the ante.
  28. ROUNDS <x> * Limits to <x> rounds of raising.  UNLIM=unlimited.  0=no raising.
  29. CYCLES <x> * Use <x> cycles of bet, discard.  Default=1.  0=deal then showdown.
  30. MINAI <nu> * Reserves <nu> spots for AIs.
  31. MAXAI <nu> * Limits game to <nu> AI players.
  32. MINPL <pl> * Sets <pl> as the minimum number of players.
  33. MAXPL <pl> * Sets <pl> as the maximum number of players.
  34. JOKERS <s> * Turns Joker usage on or off.  Joker = O in card abbrevs.
  35. WILD <wcs> * Sets the cards in <wcs> as wild.  If no <wcs>, none are wild.
  36. ACES <ace> * Sets Aces to <ace>.  HIGH=High (def), LOW=Low.
  37. HURRY      * Forces the next event (deal/toss) right now.  Overrides HOLD.
  38. HOLD       * Suspends the game until the next command. (DEAL or BET/DISCARD)
  39. UNHOLD     * Removes the hold placed by HOLD.
  40. DELAY <dl> * Sets a <dl> second delay between end of last game and start.
  41. WAIT <ti>  * Sets a <ti> second time limit on the playing of a turn.
  42. MINDESC <> * Sets <> as the minimum number of discardable cards, if not stand.
  43. MAXDISC <> * Sets <> as the maximum number of discardable cards.
  44.  
  45. Playing Commands.  Optional game number works here too.
  46.  
  47. HAND       - View hand.                                                        √
  48. BET <tbet> - Bets <tbet>.                                                      √
  49. CALL       - Call the bet.                                                     √
  50. RAISE <bt> - Raise the bet by <bt>.                                            √
  51. FOLD       - Fold your hand.                                                   √
  52. DISCARD <> - Discard the optional card numbers present in <>.  Usual is "1 2". √
  53. STAND      - Discard no cards (pass the discard round).                        √
  54. POT        - View the poker pot.                                               √
  55. TURN       - View who's turn it is and what they are to do.                    √
  56. VIEW <plr> * View visible hands in stud poker.  Optional <plr> shows one only.
  57.  
  58. Logic
  59.  
  60. The base is still the file POKERDAT.TOP, only the format is different.  All    √
  61. nodes access this file for their own needs.
  62.  
  63. As before, messages are still sent, though they are a lot different than       √
  64. before, and there are only two of them now.  The new messages are below.  AIG =
  65. All In Game.
  66.  
  67. GameOver   - "Game over!".  Sent to AIG by last better.  Starts postproc.      √
  68. Finished   - "Postproc Finished".  To AIG by last to write.  Starts handdisp.  √
  69.  
  70. Everything else is done by the node where the command was issued√.  Misc.
  71. commands can't happen during a game so they don't need messages, and
  72. notifications are sent via MSG_GENERIC normal messages√.  Hand and pot commands
  73. are handled as now√.  Turn changes are written to the file and turns are
  74. performed by the same node, so there is no need for turn change messages√.
  75.  
  76. When a game starts or cards are discarded, the new hand is immediately "dealt"
  77. by the node√.  The message are sent _AFTER_ dealing, and the file remains
  78. locked during dealing to prevent deck problems√.
  79.  
  80. Bets and discards are processed, the pot is recalculated and the cards shuffled
  81. if needed, then the message is sent to the next caller√.  Notifications are
  82. sent via normal MSG_GENERIC√.
  83.  
  84. Folds are rather unimportant.  If it's the user's turn right now then a
  85. Yourwhatever message is sent after the folding process is cleaned up√.  A
  86. MSG_GENERIC visual notification is sent, but that's all√.
  87.  
  88. Post processing is like this:  Each node evaluates the hands, pays out if      √
  89. needed, and writes a check value of the results.
  90.  
  91. Handdisp is like this:  The hand is displayed, obviously.  First, however, the √
  92. checksums are all compared, and if there's a difference, the original cybercash
  93. totals before ante (stored in the data file) are restored and a problem is
  94. reported.  The game is also shut down and deleted at this point in the hope
  95. that the problem isn't severe and a restart will correct it.
  96.  
  97. Background processing occurs on an adustable time interval (1s is the lowest
  98. since a time() comparison is done) and checks whether sufficient time has
  99. elapsed from the last action to take action now.  "Game initializations"√ and
  100. "player turns" are the actions that are checked up on.  The causes are DELAY
  101. time reached√ and wait time reached, resp. The actions are to start the game√
  102. or delete the player, resp.
  103.  
  104. Wait time warnings occur at 1/2, 2/3, 5/6, 11/12, and 23/24 of waittime (the
  105. set values from the old poker), with punting occuring at 1/1 of course.  These
  106. times cut it a little close together if waittime is small, but since that means
  107. an intense, fast-paced game, that should be okay.  A check to only use the
  108. highest most recent value should be put in, so if two times round up to the
  109. same number, or if more than one second passes between checks, then the thing
  110. won't blare unncessarily at the user.
  111.  
  112. An array tracks the locking and unlocking that the node has done on each game, √
  113. and the TOP-exit cleanup uses this array in case anything goes wrong during a
  114. poker command.
  115.