using System; using System.Collections.Generic; using TheGameExtreme.model.card; using TheGameExtreme.model.piles; namespace TheGameExtreme.model.gameActions.abstractRules { public abstract class TerminerSonTour : GameAction { protected TerminerSonTour(Piles ListOrderedStacks) : base(ListOrderedStacks) { } public abstract bool end(List CurrentHand, List CurrentCardPlayed); public bool Test(List CurrentHand) { if (CurrentHand.Count != 0) { List playableCard = new List(); tryToFindSoluce(playableCard, CurrentHand); return testEndGame(playableCard); } return false; } protected abstract void tryToFindSoluce(List playableCard, List CurrentHand); protected abstract bool testEndGame(List playableCard); } }