using System.Collections.Generic;
using OrderStacks.model.card;
using OrderStacks.model.piles;

namespace OrderStacks.model.gameActions.abstractRules
{
    public abstract class JouerUneCarte : GameAction
    {

        public Card OldCard { get; set; }

        protected JouerUneCarte(Piles ListOrderedStacks) : base(ListOrderedStacks)
        {
        }

        public abstract bool play(decimal valueCard, List<Card> CurrentHand, int orderedStackSelected, Player player, List<Card> CurrentCardPlayed);

        protected abstract bool Rule(Card card, Stack<Card> stack, bool bottomUp, Player player, List<Card> CurrentCardPlayed);
    }
}
