ICard PlayStealingCard() { List <ICard> cardsStealing = CardsCanBePlayedInThisRound.FindAll(c => c.IsStealing()); if (cardsStealing == null) { return(null); } ICard cardPocketPicking = cardsStealing.Find(c => c.CardFunc == Func.PocketPicking); if (cardPocketPicking != null) { return(cardPocketPicking); } ICard cardPickAndDrop = cardsStealing.Find(c => c.CardFunc == Func.PickAndDrop); if (cardPickAndDrop != null) { return(cardPickAndDrop); } return(null); }
void FinishYourRound() { CardsPlayedInThisRound.Clear(); CardsCanBePlayedInThisRound.Clear(); CardPlayed = null; CardResponded = null; CardNeedResponse = null; InPrison = false; }
ICard PlayPrisonCard() { ICard cardPrison = CardsCanBePlayedInThisRound.Find(c => c.IsPrison()); if (cardPrison != null) { return(cardPrison); } return(null); }
ICard PlayBombCard() { ICard cardBomb = CardsCanBePlayedInThisRound.Find(c => c.IsBomb()); if (cardBomb != null) { return(cardBomb); } return(null); }
ICard PlayOffensiveCard() { ICard cardOffensive = CardsCanBePlayedInThisRound.Find(c => c.IsOffensive()); if (cardOffensive != null) { return(cardOffensive); } return(null); }
ICard PlayEquippableCard() { ICard cardEquippable = CardsCanBePlayedInThisRound.Find(c => c.IsEquippable()); if (cardEquippable != null) { return(cardEquippable); } return(null); }
ICard PlayEquippableCard() { ICard cardEquippable = CardsCanBePlayedInThisRound.Find(c => c.IsEquippable()); if (cardEquippable != null) { cardEquippable.CardAction = CAction.GetEquipped; return(cardEquippable); } return(null); }
void DecideCardsCanBePlayedInYourTurn() { CardsCanBePlayedInThisRound.Clear(); // Cannot play any card if the player is in prison if (InPrison) { return; } foreach (ICard card in CardsHeld) { if (CardJudge.CanPlayerPlayCard(this, this.PlayerToKill, card)) { CardsCanBePlayedInThisRound.Add(card); } } }
ICard PlayOffensiveCard() { List <ICard> cardsOffensive = CardsCanBePlayedInThisRound.FindAll(c => c.IsOffensive()); if (cardsOffensive == null) { return(null); } ICard cardBarbariansAtGate = cardsOffensive.Find(c => c.CardFunc == Func.BarbariansAtGate); if (cardBarbariansAtGate != null) { return(cardBarbariansAtGate); } ICard cardTenKArrows = cardsOffensive.Find(c => c.CardFunc == Func.TenKArrows); if (cardTenKArrows != null) { return(cardTenKArrows); } ICard cardDuel = cardsOffensive.Find(c => c.CardFunc == Func.Duel); if (cardDuel != null) { return(cardDuel); } ICard cardKill = cardsOffensive.Find(c => c.CardFunc == Func.Kill); if (cardKill != null) { return(cardKill); } return(null); }
ICard PlayCardToHeal() { //if (!PlayerFigure.NeedHealing()) // return null; // TODO Need to consider if your opponent/alliance needs to be healed // and if you have the card ParryAll ICard cardHealingAll = CardsCanBePlayedInThisRound.Find(c => c.CardFunc == Func.HealingAll); if (cardHealingAll != null) { return(cardHealingAll); } ICard cardPortion = CardsCanBePlayedInThisRound.Find(c => c.CardFunc == Func.Portion); if (cardPortion != null) { return(cardPortion); } return(null); }
ICard PlayBeneficialCard() { // TODO Make all Play***Card functions like this return(CardsCanBePlayedInThisRound.Find(c => c.IsBeneficial())); }