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); }
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()); } } }
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); }