Skip to content
rfmejia edited this page Jul 24, 2015 · 6 revisions

Welcome to the yokohama-holdem wiki!

Game -> Player Messages

Round action messages

  • case class StartRound(num: Int, r: RoundInfo)
  • case class StopRound(num: Int, r: RoundInfo)
  • case class Deal(hand: (Card, Card), s: GameInfo)
  • case class NextMove(minBet: Double, maxBet: Double, s: GameInfo, timeOut: Int, msg: Option[String], retriesLeft: Int)
  • case class NextTurn(Option[Card], Option[Card], Option[Card], Option[Card], Option[Card])
  • case class UpdatePurse(amount: Double, msg: Option[String])

Game management messages

  • case object StartGame
  • case object EndGame
  • case class Status(s: GameInfo, r: Option[RoundInfo], lastAction: String)

Player -> Game Messages

Round action messages

  • case class Bet(amount: Double)
  • case object Fold
  • case object Call
  • case object AllIn

Game management messages

  • case object RequestStatus
  • case object OK
  • case object LeaveGame

Sequential Message Flow

Games

Game Player1 Player2 Notes
StartGame o--- -->x Players should register the ActorRef
StartGame o--- --------- -->x "
Rounds Repeat until only one player has money in purse, or all players have left the game
EndGame o--- -->x Release actor into player repository
EndGame o--- --------- -->x "

Rounds

Game Player1 Player2 Notes
StartRound o--- -->x
StartRound o--- --------- -->x
UpdatePurse o--- -->x Small blind
UpdatePurse o--- --------- -->x Big blind
Deal o--- -->x
Deal o--- --------- -->x
Betting Initial betting
Turns Continue until betting round after river
Status o--- -->x Contains round information (winning player/hand, other player's hands revealed, final pot size)
Status o--- --------- -->x "
UpdatePurse o--- ---?----- ---? Only sent to winning player
EndRound o--- -->x
EndRound o--- --------- -->x

Turns

Game Player1 Player2 Notes
Status o--- -->x Contains round information (players left, current pot size)
Status o--- --------- -->x "
NextTurn o--- -->x Community cards are updated (flop, turn, river)
NextTurn o--- --------- -->x "
Repeat betting Repeat while two or more players are active (has not called standing bet, not folded, not all-in)

Betting

Game Player1 Player2 Notes
NextMove o--- -->x
Bet/Fold/Call/AllIn x<-- ---o
Repeat for player Repeat while action is illegal; fold if timed-out or exhausted retries
UpdatePurse o--- -->x
NextMove o--- --------- -->x
Bet/Fold/Call/AllIn x<-- --------- ---o
Repeat for player Repeat while action is illegal; fold if timed-out or exhausted retries
UpdatePurse o--- --------- -->x