Пример #1
0
    void PlayerDrawTurnStart(Player p)
    {
        List <Card> cardsDrawn = new List <Card>();

        if (playerSideDeck.DeckCount() < p.GetStartingCardCount()) //If they need to draw more than decksize draw what you can and then shuffle the discard back in
        {
            for (int i = 0; i < playerSideDeck.DeckCount(); i++)   //TODO:? Draw per turn for player is seperate
            {
                cardsDrawn.Add(playerSideDeck.RemoveTopCard());
                playerHand.AddCardToBottom(cardsDrawn[i]);
            }
            for (int i = 0; i < playerDiscardPile.DeckCount(); i++)
            {
                playerSideDeck.AddCardToBottom(playerDiscardPile.RemoveTopCard());
            }
            playerSideDeck.Shuffle();

            int remainingCardsToDraw = p.GetStartingCardCount() - cardsDrawn.Count;
            for (int i = 0; i < remainingCardsToDraw; i++)
            {
                cardsDrawn.Add(playerSideDeck.RemoveTopCard());
                playerHand.AddCardToBottom(cardsDrawn[i]);
            }
        }
        else
        {
            for (int i = 0; i < p.GetStartingCardCount(); i++) //TODO:? Draw per turn for player is seperate
            {
                cardsDrawn.Add(playerSideDeck.RemoveTopCard());
                playerHand.AddCardToBottom(cardsDrawn[i]);
            }
        }

        Main.instance.DrawCardsToPlayerHand(cardsDrawn);
    }
Пример #2
0
    private void AddCardToDeck(Enums.Card c)
    {
        Card card = new Card(c);

        deck.AddCardToBottom(card);
        if (card.isCombatCard() == true)
        {
            GetCurrentCombatDeck().AddCardToBottom(card);
        }
    }
Пример #3
0
 private void CleanUpPlayedCard(Entity source, Card c)
 {
     //PLayer played card now discard
     if (source.GetType() == typeof(Player))
     {
         playerDiscardPile.AddCardToBottom(playerHand.Discard(c));
     }
     else     //Enemy played now discard
     {
         Enemy e = (Enemy)source;
         e.GetDiscard().AddCardToBottom(e.GetCurrentHand().Discard(c));
     }
 }