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.