public void Clear() { Hand.Clear(); DrawPile.Clear(); DiscardPile.Clear(); RemovePile.Clear(); }
void drawHand() { hand = new List <Card>(); for (int i = 0; i < HandSize; i++) { if (DrawPile.Count == 0) { DrawPile.List.AddRange(DiscardPile); DrawPile.List.ShuffleInPlace(); DiscardPile.Clear(); if (DrawPile.Count != Deck.Count) { // we should be able to continue playing if this happens, but I absolutely want to know about it Debug.LogError($"you lost {Deck.Count - DrawPile.Count} cards somewhere"); } } var drawIndex = DrawPile.Count - 1; hand.Add(DrawPile[drawIndex]); DrawPile.RemoveAt(drawIndex); } }
public void Shuffle() { DrawPile = DrawPile.Concat(DiscardPile).ToObservableCollection <Card>(); DiscardPile.Clear(); DrawPile = DrawPile.Concat(BurnPile).ToObservableCollection <Card>(); BurnPile.Clear(); DrawPile = Shuffler.Shuffle(DrawPile, rnd).ToObservableCollection <Card>(); OnPropertyChanged(nameof(CardsRemaining)); }
void Start() { PlayerAbilityCharges.Initialize(); DrawPile.Clear(); DiscardPile.Clear(); DiscardPile.List.AddRange(Deck); startBuildPhase(); }
//get a copy of data public void CreateRandomPile(Card[] cardData) { discardPile.Clear(); cardInPile = new List <string>(); for (int i = 0; i < cardData.Length; i++) { cardInPile.Add(cardData[i].name); } cardInPile = Helper.Shuffle(cardInPile); }
public static void GameReset() { Score = 0; Deck.Clear(); DiscardPile.Clear(); DiscardPile.AddRange(new Power[] { Power.AlternatePath, Power.AlternatePath, Power.AlternatePath, Power.Coin2x, Power.Coin2x, Power.Coin2x, Power.HalvePenalty, Power.HalvePenalty, Power.HalvePenalty, Power.Invincible, Power.Speed2x, Power.Speed2x }); PickNewPower(true); }
/// <summary> /// Creates 52 cards times the parameter "decks" and adds them into a deck (list) /// </summary> /// <param name="decks"></param> public void InitDeck(int decks) { DeckPile.Clear(); DiscardPile.Clear(); cardList.Clear(); for (int countDecks = 0; countDecks < decks; countDecks++) { for (int index = 0; index < PlayingCards.Count; index++) { cardList.Add(new Card(values[index], images[index])); } } AddCards(cardList); }
//--------------------------------------------------------------------------------------------- public ICard DrawCardFromDeck() { if (Deck.Count <= 0) { // Were out of cards, take whats on the discard pile Deck = DiscardPile; // Clear discard pile DiscardPile.Clear(); // Shuffle Shuffle(Deck); } // Return first card of the deck ICard drawnCard = Deck[0]; Deck.RemoveAt(0); return(drawnCard); }
private void Recycle(Deck d) { d.ShuffleIn(DiscardPile); DiscardPile.Clear(); }
private void Recycle(Deck d) { d.ShuffleIn(DiscardPile, ReserveCards.Any() ? ReserveCards.GetNext() : new List <Card>()); DiscardPile.Clear(); }
protected override void MoveCardsFromDiscardToDraw() { DiscardPile.Reverse(); DrawPile.AddRange(DiscardPile); DiscardPile.Clear(); }
public void ReshuffleDeck() { DrawPile.AddRange(DiscardPile); DiscardPile.Clear(); DrawPile = DrawPile.Shuffle().ToList(); }