Ejemplo n.º 1
0
        public List <TrumpDeckInfo> PrepareTrumpDecks(int decksCnt)
        {
            var decks = new List <TrumpDeckInfo>();

            for (int i = 0; i < decksCnt; i++)
            {
                var newDeck = new TrumpDeckInfo()
                {
                    Cards = new List <TrumpCardInfo>(),
                };

                foreach (var shape in BaccaratCore.Card_shape)
                {
                    foreach (var number in BaccaratCore.Card_number)
                    {
                        var newCard = new TrumpCardInfo
                        {
                            Shape          = shape,
                            Number         = number,
                            BaccaratNumber = ConvertToBaccaratNumber(number)
                        };

                        newDeck.Cards.Add(newCard);
                    }
                }

                decks.Add(newDeck);
            }

            return(decks);
        }
Ejemplo n.º 2
0
        public void DealingForBanker(ref BaccaratResultInfo playResult, TrumpCardInfo player_3rdCard)
        {
            // 뱅커 합이 0, 1, 2일 경우 무조건 한장 더 받는다.
            if (playResult.BankerValue < 3)
            {
                playResult.BankerCards.Add(PopCard());
                return;
            }

            if (playResult.BankerValue == 7 ||
                player_3rdCard == null)
            {
                return;
            }

            // 뱅커 합이 3일때
            else if (playResult.BankerValue == 3)
            {
                // 플레이어 세번째 카드가 8이 아니면 한장 더 받는다.
                if (player_3rdCard.BaccaratNumber != 8)
                {
                    playResult.BankerCards.Add(PopCard());
                }
            }
            // 뱅커 합이 4일때
            else if (playResult.BankerValue == 4)
            {
                // 플레이어 세번째 카드가 2, 3, 4, 5, 6, 7이면 한장 더 받는다.
                if (player_3rdCard.BaccaratNumber != 0 &&
                    player_3rdCard.BaccaratNumber != 1 &&
                    player_3rdCard.BaccaratNumber != 8 &&
                    player_3rdCard.BaccaratNumber != 9)
                {
                    playResult.BankerCards.Add(PopCard());
                }
            }
            // 뱅커 합이 5일때
            else if (playResult.BankerValue == 5)
            {
                // 플레이어 세번째 카드가 4, 5, 6, 7이면 한장 더 받는다.
                if (player_3rdCard.BaccaratNumber == 4 ||
                    player_3rdCard.BaccaratNumber == 5 ||
                    player_3rdCard.BaccaratNumber == 6 ||
                    player_3rdCard.BaccaratNumber == 7)
                {
                    playResult.BankerCards.Add(PopCard());
                }
            }
            // 뱅커 합이 6일때
            else if (playResult.BankerValue == 6)
            {
                // 플레이어 세번째 카드가 6, 7이면 한장 더 받는다.
                if (player_3rdCard.BaccaratNumber == 6 ||
                    player_3rdCard.BaccaratNumber == 7)
                {
                    playResult.BankerCards.Add(PopCard());
                }
            }
        }
Ejemplo n.º 3
0
        public void DealingForPlayer(ref BaccaratResultInfo playResult, out TrumpCardInfo thirdCards)
        {
            thirdCards = null;

            if (playResult.PlayerValue == 6 ||
                playResult.PlayerValue == 7)
            {
                return;
            }

            // 플레이어 패가 5이하라면 한장 더 받는다.
            thirdCards = PopCard();
            playResult.PlayerCards.Add(thirdCards);
        }