using System.Collections.Generic; using OrderStacks.model.card; using OrderStacks.model.piles; namespace OrderStacks.model.gameActions.abstractRules { public abstract class TerminerSonTour : GameAction { /** * Piles de jeu * * Constructeur */ protected TerminerSonTour(Piles ListOrderedStacks) : base(ListOrderedStacks) { } /** * Liste de carte du joeuur actif * Liste des cartes jouées durant le tour du joueur actif * * Fonction permettant de terminer son tour * * Booléen indiquant si le changement de joueur peut se passer */ public abstract bool end(List CurrentHand, List CurrentCardPlayed); /** * Liste de carte du joueur actif * * Fonction permettant de gérer le test de fin du jeu * * Booléen de fin du jeu */ public bool Test(List CurrentHand) { if (CurrentHand.Count != 0) { List playableCard = new List(); tryToFindSoluce(playableCard, CurrentHand); return testEndGame(playableCard); } return false; } /** * Liste de carte du joueur actif * Liste des cartes jouables * * Fonction permettant de chercher les cartes pouvants être jouées et les ajoutes à la liste des cartes jouables */ protected abstract void tryToFindSoluce(List playableCard, List CurrentHand); /** * Liste des cartes jouables * * Fonction vérifiant que les règles de fin de jeu ne sont pas arrivé */ protected abstract bool testEndGame(List playableCard); } }