Exemplo n.º 1
0
 public void Clear()
 {
     Hand.Clear();
     DrawPile.Clear();
     DiscardPile.Clear();
     RemovePile.Clear();
 }
Exemplo n.º 2
0
    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);
        }
    }
Exemplo n.º 3
0
 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));
 }
Exemplo n.º 4
0
    void Start()
    {
        PlayerAbilityCharges.Initialize();

        DrawPile.Clear();
        DiscardPile.Clear();

        DiscardPile.List.AddRange(Deck);
        startBuildPhase();
    }
Exemplo n.º 5
0
    //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);
    }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 7
0
        /// <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);
        }
Exemplo n.º 8
0
    //---------------------------------------------------------------------------------------------

    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);
    }
Exemplo n.º 9
0
 private void Recycle(Deck d)
 {
     d.ShuffleIn(DiscardPile);
     DiscardPile.Clear();
 }
Exemplo n.º 10
0
 private void Recycle(Deck d)
 {
     d.ShuffleIn(DiscardPile, ReserveCards.Any() ? ReserveCards.GetNext() : new List <Card>());
     DiscardPile.Clear();
 }
Exemplo n.º 11
0
 protected override void MoveCardsFromDiscardToDraw()
 {
     DiscardPile.Reverse();
     DrawPile.AddRange(DiscardPile);
     DiscardPile.Clear();
 }
Exemplo n.º 12
0
 public void ReshuffleDeck()
 {
     DrawPile.AddRange(DiscardPile);
     DiscardPile.Clear();
     DrawPile = DrawPile.Shuffle().ToList();
 }