Example #1
0
        public void DealCards()
        {
            // Reset the board
            GameHelper.ResetImages(Player, Computer);
            GameHelper.ResetGame(Player, Computer);
            View.ResetResult();
            View.SplitDeck(Player, false);
            BetPlaced = true;

            int cardOne = Random.Next(2, 12);
            int cardTwo = Random.Next(2, 12);

            GameHelper.AddAces(Player, cardOne);
            GameHelper.AddAces(Player, cardTwo);

            Player.Images[0].Source = ImagesHelper.RandomColorCard(CardImages.First(x => x.Key == cardOne).Value);
            Player.Images[1].Source = ImagesHelper.RandomColorCard(CardImages.First(x => x.Key == cardTwo).Value);
            Player.Score            = cardOne + cardTwo;
            View.DisplayPoints(Player);

            if (cardOne == cardTwo)
            {
                DoubleCards = true;
            }
            if (Player.Score > 21)
            {
                GameHelper.HasAces(Player);
                View.DisplayPoints(Player);
            }
        }
Example #2
0
 private void DisplayCard(int card)
 {
     Computer.Images[Computer.CurrentImage].Source =
         ImagesHelper.RandomColorCard(CardImages.First(x => x.Key == card).Value);
     Computer.CurrentImage++;
     View.DisplayPoints(Computer);
 }
Example #3
0
        public void Stand(bool isSplit)
        {
            int cardOne = Random.Next(2, 12);
            int cardTwo = Random.Next(2, 12);

            GameHelper.AddAces(Computer, cardOne);
            GameHelper.AddAces(Computer, cardTwo);

            Computer.Images[0].Source =
                ImagesHelper.RandomColorCard(CardImages.First(x => x.Key == cardOne).Value);
            Computer.Images[1].Source =
                ImagesHelper.RandomColorCard(CardImages.First(x => x.Key == cardTwo).Value);

            Computer.Score = cardOne + cardTwo;
            View.DisplayPoints(Computer);

            if (Computer.Score < 17 || (Computer.Score > 21 && GameHelper.HasAces(Computer)))
            {
                TaskFactory = new TaskFactory(TaskScheduler.FromCurrentSynchronizationContext());
                new Thread(() => HitCardComputer(isSplit)).Start();
            }
            else
            {
                End(isSplit);
            }
            BetPlaced = false;
        }
Example #4
0
        public void HitCard()
        {
            int card = Random.Next(2, 12);

            GameHelper.AddAces(Player, card);

            Player.Images[Player.CurrentImage].Source = ImagesHelper.RandomColorCard(CardImages.First(x => x.Key == card).Value);
            Player.CurrentImage++;
            Player.Score += card;

            if (Player.Score > 21 && !GameHelper.HasAces(Player))
            {
                BetPlaced = false;
                End(false);
            }
            View.DisplayPoints(Player);
        }
Example #5
0
        public void HitCardSplit(bool leftDeck)
        {
            int card = Random.Next(2, 12);

            GameHelper.AddAcesSplit(Player, card, leftDeck);

            if (leftDeck)
            {
                Player.SplitDeck.ImagesLeft[Player.SplitDeck.CurrentImageLeft].Source =
                    ImagesHelper.RandomColorCard(CardImages.First(x => x.Key == card).Value);
                Player.SplitDeck.CurrentImageLeft++;
                Player.SplitDeck.ScoreLeft += card;

                if (Player.SplitDeck.ScoreLeft > 21 && !GameHelper.HasAcesSplit(Player, true))
                {
                    Player.SplitDeck.FinishedLeft = true;
                    if (Player.SplitDeck.FinishedRight)
                    {
                        Stand(true);
                    }
                }
                View.DisplayPointsSplit(Player);
            }
            else
            {
                Player.SplitDeck.ImagesRight[Player.SplitDeck.CurrentImageRight].Source =
                    ImagesHelper.RandomColorCard(CardImages.First(x => x.Key == card).Value);
                Player.SplitDeck.CurrentImageRight++;
                Player.SplitDeck.ScoreRight += card;

                if (Player.SplitDeck.ScoreRight > 21 && !GameHelper.HasAcesSplit(Player, false))
                {
                    Player.SplitDeck.FinishedRight = true;
                    if (Player.SplitDeck.FinishedLeft)
                    {
                        Stand(true);
                    }
                }
                View.DisplayPointsSplit(Player);
            }
        }