コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }