예제 #1
0
        private Brush GetBrushForResultType(BaccaratResultType resultType)
        {
            if (resultType == BaccaratResultType.Banker)
            {
                return(new SolidColorBrush(Colors.Red));
            }
            else if (resultType == BaccaratResultType.Player)
            {
                return(new SolidColorBrush(Colors.Blue));
            }

            return(new SolidColorBrush(Colors.Green));
        }
예제 #2
0
 public BaccaratResult(BaccaratResultType type, int money, int betMoney)
 {
     Type     = type;
     Money    = money;
     BetMoney = betMoney;
 }
예제 #3
0
        private void DetermineCards()
        {
            var random = new System.Random();

            // Pick 2 cards for each
            bankerCards.cards.Add(PickRandomCard(random));
            bankerCards.cards.Add(PickRandomCard(random));
            playerCards.cards.Add(PickRandomCard(random));
            playerCards.cards.Add(PickRandomCard(random));

            // Get the scores for the two cards
            bankerScore = 0;
            foreach (var card in bankerCards.cards)
            {
                bankerScore += card.GetBaccaratScore();
            }
            bankerScore %= 10;

            playerScore = 0;
            foreach (var card in playerCards.cards)
            {
                playerScore += card.GetBaccaratScore();
            }
            playerScore %= 10;

            // Pick an extra card for each players if needed
            if (bankerScore >= 8 || playerScore >= 8)
            {
                //Natural
            }
            else if (playerScore >= 6)
            {
                //Player Stand
                if (bankerScore < 6)
                {
                    bankerCards.cards.Add(PickRandomCard(random));
                }
            }
            else
            {
                Card thirdPlayerCard = PickRandomCard(random);
                playerCards.cards.Add(thirdPlayerCard);

                bool anotherBankerCard = false;
                if (bankerScore <= 2)
                {
                    anotherBankerCard = true;
                }
                else if (bankerScore == 3)
                {
                    anotherBankerCard = thirdPlayerCard.GetBaccaratScore() != 8;
                }
                else if (bankerScore == 4)
                {
                    anotherBankerCard = thirdPlayerCard.GetBaccaratScore() >= 2 && thirdPlayerCard.GetBaccaratScore() <= 7;
                }
                else if (bankerScore == 5)
                {
                    anotherBankerCard = thirdPlayerCard.GetBaccaratScore() >= 4 && thirdPlayerCard.GetBaccaratScore() <= 7;
                }
                else if (bankerScore == 6)
                {
                    anotherBankerCard = thirdPlayerCard.GetBaccaratScore() == 6 || thirdPlayerCard.GetBaccaratScore() == 7;
                }

                if (anotherBankerCard)
                {
                    bankerCards.cards.Add(PickRandomCard(random));
                }
            }

            bankerScore = 0;
            playerScore = 0;

            foreach (var c in bankerCards.cards)
            {
                bankerScore += c.GetBaccaratScore();
            }
            bankerScore %= 10;

            foreach (var c in playerCards.cards)
            {
                playerScore += c.GetBaccaratScore();
            }
            playerScore %= 10;

            if (bankerScore > playerScore)
            {
                result = BaccaratResultType.Banker;
            }
            else if (bankerScore < playerScore)
            {
                result = BaccaratResultType.Player;
            }
            else
            {
                result = BaccaratResultType.Tie;
            }
        }
예제 #4
0
        private void ProcessBeadPlateOutput(ref List <List <BaccaratResultType> > bead_Plate_Results, ref GridControl grd_control, BaccaratResultType resultType, BaccaratResultInfo playResult, string outputValue)
        {
            if (bead_Plate_Results.Count == 0)
            {
                var newLine = new List <BaccaratResultType>();
                newLine.Add(resultType);
                bead_Plate_Results.Add(newLine);
            }
            else
            {
                var latestLine = bead_Plate_Results[bead_Plate_Results.Count - 1];
                if (latestLine.Count == 6)
                {
                    var newLine = new List <BaccaratResultType>();
                    newLine.Add(resultType);
                    bead_Plate_Results.Add(newLine);
                }
                else
                {
                    latestLine.Add(resultType);
                }
            }

            // Output to cell
            var latest = bead_Plate_Results[bead_Plate_Results.Count - 1];

            grd_control.Model[latest.Count, bead_Plate_Results.Count].Foreground  = GetBrushForResultType(resultType);
            grd_control.Model[latest.Count, bead_Plate_Results.Count].CellValue   = outputValue;
            grd_control.Model[latest.Count, bead_Plate_Results.Count].ShowTooltip = true;
            grd_control.Model[latest.Count, bead_Plate_Results.Count].ToolTip     = $"seq: {playResult.GameSeq}, player: {playResult.PlayerValue}, banker: {playResult.BankerValue}";
        }
예제 #5
0
 public BaccaratResult(BaccaratResultType type, int money, int betMoney)
 {
     Type = type;
     Money = money;
     BetMoney = betMoney;
 }
예제 #6
0
        private void DetermineCards()
        {
            var random = new System.Random();

            // Pick 2 cards for each
            bankerCards.cards.Add(PickRandomCard(random));
            bankerCards.cards.Add(PickRandomCard(random));
            playerCards.cards.Add(PickRandomCard(random));
            playerCards.cards.Add(PickRandomCard(random));

            // Get the scores for the two cards
            bankerScore = 0;
            foreach (var card in bankerCards.cards)
            {
                bankerScore += card.GetBaccaratScore();
            }
            bankerScore %= 10;

            playerScore = 0;
            foreach (var card in playerCards.cards)
            {
                playerScore += card.GetBaccaratScore();
            }
            playerScore %= 10;

            // Pick an extra card for each players if needed
            if (bankerScore >= 8 || playerScore >= 8)
            {
                //Natural
            }
            else if (playerScore >= 6)
            {
                //Player Stand
                if (bankerScore < 6)
                {
                    bankerCards.cards.Add(PickRandomCard(random));
                }
            }
            else
            {
                Card thirdPlayerCard = PickRandomCard(random);
                playerCards.cards.Add(thirdPlayerCard);

                bool anotherBankerCard = false;
                if (bankerScore <= 2)
                {
                    anotherBankerCard = true;
                }
                else if (bankerScore == 3)
                {
                    anotherBankerCard = thirdPlayerCard.GetBaccaratScore() != 8;
                }
                else if (bankerScore == 4)
                {
                    anotherBankerCard = thirdPlayerCard.GetBaccaratScore() >= 2 && thirdPlayerCard.GetBaccaratScore() <= 7;
                }
                else if (bankerScore == 5)
                {
                    anotherBankerCard = thirdPlayerCard.GetBaccaratScore() >= 4 && thirdPlayerCard.GetBaccaratScore() <= 7;
                }
                else if (bankerScore == 6)
                {
                    anotherBankerCard = thirdPlayerCard.GetBaccaratScore() == 6 || thirdPlayerCard.GetBaccaratScore() == 7;
                }

                if (anotherBankerCard)
                {
                    bankerCards.cards.Add(PickRandomCard(random));
                }
            }

            bankerScore = 0;
            playerScore = 0;

            foreach (var c in bankerCards.cards)
            {
                bankerScore += c.GetBaccaratScore();
            }
            bankerScore %= 10;

            foreach (var c in playerCards.cards)
            {
                playerScore += c.GetBaccaratScore();
            }
            playerScore %= 10;

            if (bankerScore > playerScore)
            {
                result = BaccaratResultType.Banker;
            }
            else if (bankerScore < playerScore)
            {
                result = BaccaratResultType.Player;
            }
            else
            {
                result = BaccaratResultType.Tie;
            }
        }