void Deal() { for (int j = 0; j < 2; j++) { for (int i = 0; i < m_playerCount; i++) { m_players[i].GetComponent <BJPlayer>().AddCard(m_dealer.TakeFromTop()); } } }
public void ReShuffleIn(Card_Placement deck, Card_Placement discard) { while (discard.m_Cards.Count > 0) { deck.GiveCard(discard.TakeFromTop()); } deck.Shuffle(); foreach (Card c in deck.m_Cards) { if (c.m_faceUp) { c.Flip(); } } UpdatePlayerCardCounts(); }
public void NextRound() { if (GameEnd) { return; } if (m_winningDeck != null) { while (P1War.m_Cards.Count > 0) { Card card = P1War.TakeFromTop(); m_winningDeck.GiveCard(card); } while (P2War.m_Cards.Count > 0) { Card card = P2War.TakeFromTop(); m_winningDeck.GiveCard(card); } UpdatePlayerCardCounts(); m_winningDeck.Shuffle(); m_winningDeck = null; IsWar = false; } try { if (IsWar) { WarCount++; if (P1Deck.m_Cards.Count < 4) { ReShuffleIn(P1Deck, P1Discard); if (P1Deck.m_Cards.Count < 4) { GameWin(true); return; } } if (P2Deck.m_Cards.Count < 4) { ReShuffleIn(P2Deck, P2Discard); if (P2Deck.m_Cards.Count < 4) { GameWin(false); return; } } Card POne1 = P1Deck.TakeFromTop(); Card POne2 = P1Deck.TakeFromTop(); Card POne3 = P1Deck.TakeFromTop(); Card POne4 = P1Deck.TakeFromTop(); Card PTwo1 = P2Deck.TakeFromTop(); Card PTwo2 = P2Deck.TakeFromTop(); Card PTwo3 = P2Deck.TakeFromTop(); Card PTwo4 = P2Deck.TakeFromTop(); P1War.GiveCard(POne1); P1War.GiveCard(POne2); P1War.GiveCard(POne3); P1War.GiveCard(POne4); P2War.GiveCard(PTwo1); P2War.GiveCard(PTwo2); P2War.GiveCard(PTwo3); P2War.GiveCard(PTwo4); POne1.transform.localPosition += new Vector3(0, 15, 0) + (new Vector3(0, 60, 0) * (WarCount - 1)); POne2.transform.localPosition += new Vector3(0, 15, 0) * 2 + (new Vector3(0, 60, 0) * (WarCount - 1)); POne3.transform.localPosition += new Vector3(0, 15, 0) * 3 + (new Vector3(0, 60, 0) * (WarCount - 1)); POne4.transform.localPosition += new Vector3(0, 15, 0) * 4 + (new Vector3(0, 60, 0) * (WarCount - 1)); PTwo1.transform.localPosition -= new Vector3(0, 15, 0) + (new Vector3(0, 60, 0) * (WarCount - 1)); PTwo2.transform.localPosition -= new Vector3(0, 15, 0) * 2 + (new Vector3(0, 60, 0) * (WarCount - 1)); PTwo3.transform.localPosition -= new Vector3(0, 15, 0) * 3 + (new Vector3(0, 60, 0) * (WarCount - 1)); PTwo4.transform.localPosition -= new Vector3(0, 15, 0) * 4 + (new Vector3(0, 60, 0) * (WarCount - 1)); POne4.Flip(); PTwo4.Flip(); RoundWinCheck(POne4, PTwo4); } else { if (P1Deck.m_Cards.Count < 1) { ReShuffleIn(P1Deck, P1Discard); if (P1Deck.m_Cards.Count <= 3) { GameWin(true); return; } } if (P2Deck.m_Cards.Count < 1) { ReShuffleIn(P2Deck, P2Discard); if (P2Deck.m_Cards.Count <= 3) { GameWin(false); return; } } Card c1 = P1Deck.TakeFromTop(); Card c2 = P2Deck.TakeFromTop(); P1War.GiveCard(c1); P2War.GiveCard(c2); c1.Flip(); c2.Flip(); RoundWinCheck(c1, c2); } } catch (NullReferenceException) { UpdatePlayerCardCounts(); } }