Example #1
0
        public void SplitHand(PlayerHandControl sourceHandControl)
        {
            //take a card from the source hand
            Card cardToMoveToNewHand = sourceHandControl.TakeLastCard();
            //create a new hand for the active player
            PlayerHand newHand = controller.AddHandToPlayer(controller.ActivePlayer, State.NotYetPlayed);

            newHand.State = State.NotYetPlayed;


            //add the card that was removed from the source to the new hand
            var newPlayerHandControl = new PlayerHandControl(newHand, controller, this);

            controller.GivePlayerACard(newHand, cardToMoveToNewHand);
            newPlayerHandControl.Visible = true;
            playerHandControlList.Add(newPlayerHandControl);
            layout.Controls.Add(newPlayerHandControl);


            controller.IncreaseBet(newHand, double.Parse(tbBet.Text));



            newPlayerHandControl.DeactivateButtons();

            controller.GivePlayerNextCardInShoe(controller.ActivePlayer.ActiveHand, true);

            controller.GivePlayerNextCardInShoe(newHand, true);
        }
Example #2
0
        private void btnBet_Click(object sender, EventArgs e)
        {
            Console.WriteLine("--------------------------------------");
            btnBet.Enabled = false;

            if (controller.Shoe.UndealtCards.Count < 10)
            {
                controller.ShuffleAll();
            }

            controller.StartNewHand();



            dealerLayoutPanel.Controls.Clear();
            dealerHandControl = new DealerHandControl(controller.Dealer.Hand, controller, this);


            controller.Dealer.Hand.onDealerBlackjack += controller_onGameEnd;
            controller.Dealer.Hand.onDealerBlackjack += Instance_OnShowAllCards;
            controller.Dealer.Hand.onDealerBust      += controller_onGameEnd;
            controller.Dealer.Hand.onDealerBust      += Instance_OnShowAllCards;


            dealerLayoutPanel.Controls.Add(dealerHandControl);
            foreach (var control in playerHandControlList)
            {
                control.EndGame();
            }
            layout.Controls.Clear();


            controller.IncreaseBet(controller.ActivePlayer.ActiveHand, double.Parse(tbBet.Text));

            var playerHandControl = new PlayerHandControl(controller.ActivePlayer.ActiveHand, controller, this);



            playerHandControlList.Add(playerHandControl);
            layout.Controls.Add(playerHandControl);
            playerHandControl.btnDoubleDown.Enabled = true;
            playerHandControl.btnHit.Enabled        = true;
            playerHandControl.btnStand.Enabled      = true;

            controller.Deal();

            // pnlAction.Visible = true;
        }