/// <summary> /// Contreel of de speler is gewonnen of niet. Change de situatie van de hand. /// </summary> /// <param name="hand">Huidige hand.</param> /// <param name="waardeVanDeDealerHand">De waarde van de hand van de dealer.</param> private void DefinieerResultaten(SpelerHand hand, int waardeVanDeDealerHand) { int waardeVanDeSpeler = this.WaardeVanDeSpelerHand(hand); if (waardeVanDeSpeler < waardeVanDeDealerHand) { hand.ChangeStatus(HandStatussen.Verloren); } else if (waardeVanDeSpeler == waardeVanDeDealerHand) { hand.ChangeStatus(HandStatussen.OnHold); } else if (waardeVanDeSpeler > waardeVanDeDealerHand && waardeVanDeSpeler <= 21) { hand.ChangeStatus(HandStatussen.Gewonnen); } }
/// <summary> /// Voer de actie die de speler heeft gekozen uit. /// </summary> /// <param name="hand">De huidige hand.</param> /// <param name="deActie">De actie die de speler wil doen.</param> /// <returns>Heeft actie gedaan of niet.</returns> private bool VoerActieUit(SpelerHand hand, Acties deActie) { switch (deActie) { case Acties.IsDefined: throw new ArgumentNullException("Er is geen actie."); case Acties.Splitsen: if (this.SplitsHand(hand) != null) { hand.ChangeStatus(HandStatussen.Gesplitst); return(true); } else { this.communicator.TellPlayer(hand.Speler, Meldingen.MagNietSplitsen); return(false); } case Acties.Verdubbelen: if (this.Verdubbelen(hand)) { hand.ChangeStatus(HandStatussen.Verdubbelen); return(true); } else { this.communicator.TellPlayer(hand.Speler, Meldingen.MagNietVerdubbelen); return(false); } case Acties.Kopen: this.spel.Kopen(hand, this.tafel.StapelKaarten); hand.ChangeStatus(HandStatussen.Gekochtocht); return(true); case Acties.Passen: hand.ChangeStatus(HandStatussen.Gepassed); return(true); } return(false); }
/// <summary> /// Als de hand Black Jack dan change de status van de hand en close de hand. /// </summary> /// <param name="hand">De hand die Balck Jack wordt.</param> private void HandelBlackJack(SpelerHand hand) { hand.ChangeStatus(HandStatussen.BlackJeck); // this.BetaalHand(hand); }