Sequences Game - WouterSerryn/Blackjack GitHub Wiki

Sequences van de Game-class

Constructor

De game-constructor instantieert de objecten dealer, deck en calendar.

cardDistribution

We itereren alle User-objecten binnen de player-list, en voeren op elke user de playerHit-methode uit, die een kaart geeft aan de hand van de speler en deze kaart uit deck verwijdert. We doen hetzelfde voor de dealer (maar dan met dealerHit). PlayerHit en dealerHit evalueren ook de hand om een eventuele blackjack vast te leggen. Deze iteratie zit in en for-lust die alles 2 keer overloopt. Zo krijgt iedereen 2 kaarten. Wanneer de lus een 2e keer overlopen wordt, en de dealer krijgt een kaart, dan zal de visibility op false gezet worden.

dealerHit

dealerHit haalt vraagt een kaart uit de deck, en verwijdert die uit de lijst van kaarten. Deze kaart wordt toegevoegd aan de lijst van kaarten die in hand zit. Nadien wordt de hand geëvalueerd om de handstate eventueel aan te passen.

dealerStand

Deze methode zet de state in hand op Handstate.Stand

distributePayment

Deze methode controleert de gamestate van elke speler. Wanneer deze ‘Loss’ is, gebeurt er niets. Wanneer deze ‘Push’ is, krijgt de speler zijn inzet terug. Wanneer deze ‘Win’ is, controleert de methode de handstate. Indien de handstate ‘Stand’ is, krijgt de speler 2 keer zijn inzet terug. Wanneer de handstate ‘Blackjack’ is, krijgt de speler 2.5 keer zijn inzet terug.

evaluateGame

Deze methode controleert de handstate van elke speler. Waneer de handstate ‘Blackjack’ is, wordt de gamestate van deze speler op ‘Win’ gezet. Wanneer de handstate van de dealer ‘Blackjack’ is, en de handstate van de speler is niet ‘Blackjack’, wordt de gamestate op ‘Loss’ gezet. Als de handstate van de user ‘Busted’ is, wordt de gamestate op ‘Loss’ gezet. Wanneer de handstate van dealer ‘Busted’ is, wordt de gamestate van de user op ‘Win’ gezet. Wanneer de value van de hand van user groter is dan de value van de hand van dealer, wordt de gamestate op ‘Win’ gezet. Wanneer de value van de hand van dealer gelijk is aan de value van de hand van user, wordt de gamestate op ‘Push’ gezet. Wanneer de waarde van de hand van user kleiner is dan de value van de hand van dealer, wordt de gamestate op ‘Loss’ geplaatst.

getDate

getDate retourneert de datum van de game als String.

getGame

getGame controleert als de property game leeg is. Zoja, wordt er een nieuw game-object in game gestoken. De property game wordt geretourneerd.

playerHit

playerHit haalt vraagt een kaart uit de deck, en verwijdert die uit de lijst van kaarten. Deze kaart wordt toegevoegd aan de lijst van kaarten die in hand zit. Nadien wordt de hand geëvalueerd om de handstate eventueel aan te passen.

playerStand

playerStant wijzigt de handstate naar Handstate.Stand

setPlayerList

setPlayerList verwacht een ArrayList met user-objecten en steekt die in de property players in game.

dealerPlay

Deze methode wijzigt de minimumstand van dealer en laat vervolgens de dealer kaarten trekken volgens de voorpgestelde regels.