Research and Development 1/2010-11/project/4PP-TP/Project

Uit Werkplaats
Ga naar: navigatie, zoeken

Pagina voor notities project

Design

4 componenten:

  • User Interface
  • Pokertafel
  • Connectie
  • AI

Componenten communiceren met elkaar via een "callback" interface, deze wordt bij elke actie aangeroepen.

De UI, Connectie en AI sturen alle acties door naar de pokertafel. De connectie regelt dat deze op de juiste plek terecht komen.

Pokertafel houdt de andere componenten bij via een "register" functie die kan worden aangeroepen.

PokerDesign.PNG

Callbacks

We zullen van de volgende callbacks gebruikt maken:

  • playerJoin(Player)
  • playerTurn(Player)
  • playerBets(Player, int) ( Bet zelfde als vorige = call, bet meer dan vorige = raise )
  • playerFolds(Player)
  • playerLeave(Player)
  • drawCard(Card[])
  • dealCards(Card[])
  • startGame()
  • playerPayout(Player[], int[], Card[][])

De flow is als volgt:

  • 1: Pokertafel wordt gemaakt.
  • 2: Een aantal "playerJoin" berichten komen als spelers aanschuiven.
  • 3: De host stuurt een "startGame" als hij vindt dat er genoeg spelers zijn en het spel wil beginnen. Er kunnen nu geen nieuwe spelers aanschuiven.
  • 4: Elke speler krijgt een "dealCards" met daarin zijn 2 kaarten. De host stuurt deze.
  • 5: De speler die aan de beurt is krijgt een "playerTurn".
  • 6: Deze speler stuurt een "playerBets" of "playerFolds" tijdens zijn beurt.
  • 7: Als alle spelers een beurt hebben gehad stuurt de host een "drawCard" als er een kaart getrokken wordt en begint de ronde opnieuw tot er 5 kaarten getrokken zijn.
  • 8: De host berekent de payouts en stuurt deze rond met "playerPayout". Er kunnen nu weer nieuwe spelers aanschuiven.
  • 9: Als de host klaar is om de volgende ronde te beginnen stuurt hij weer een "startGame" en begint het spel opnieuw.

Als een "playerLeave" wordt gestuurd dan fold deze player automatisch en wordt hij uit het spel verwijdert.