Exemple #1
0
 public void AddActionCard(IActionCard card)
 {
     if (!_actionsCards.Contains(card))
     {
         _actionsCards.Add(card);
     }
 }
Exemple #2
0
 public void RemoveActionCard(IActionCard card)
 {
     if (_actionsCards.Contains(card))
     {
         _actionsCards.Remove(card);
     }
 }
Exemple #3
0
        public void Play(IActionCard card)
        {
            if (!CanPlay(card))
                throw new ArgumentException(string.Format("The card '{0}' cannot be played", card), "card");

            RemainingActions--;
            this.Game.Log.LogPlay(this.ActivePlayer, card);
            card.MoveTo(ActivePlayer.PlayArea);
            card.Play(this);
            ResolvePendingEffects();
        }
Exemple #4
0
        public void Play(IActionCard card)
        {
            if (!CanPlay(card))
            {
                throw new ArgumentException(string.Format("The card '{0}' cannot be played", card), "card");
            }

            RemainingActions--;
            this.Game.Log.LogPlay(this.ActivePlayer, card);
            card.MoveTo(ActivePlayer.PlayArea);
            card.Play(this);
            ResolvePendingEffects();
        }
Exemple #5
0
        public void ActionOnCellStepped(object sender, EventArgs evt)
        {
            MonopolyCell      cell   = (MonopolyCell)sender;
            MonopolyPlayer    player = GetPlayerFromCell(cell);
            ActionCellEvtArgs args   = (ActionCellEvtArgs)evt;

            Console.WriteLine(player.Username + " stepped in " + cell.Name);

            // Get action
            IActionCard             card       = GetActionCard(args.TypeCard);
            Action <MonopolyPlayer> cardAction = card.Action;

            // Do action
            cardAction(GetPlayerFromCell((MonopolyCell)sender));
        }
Exemple #6
0
        // This method get an action card based on card type
        private IActionCard GetActionCard(CardType cardType)
        {
            IActionCard card = null;

            if (cardType == CardType.Chance)
            {
                card = _chanceCards.Dequeue();
                _chanceCards.Enqueue((ChanceCard)card);
            }
            else if (cardType == CardType.CommunityChest)
            {
                card = _communityChestCards.Dequeue();
                _communityChestCards.Enqueue((CommunityChestCard)card);
            }

            return(card);
        }
Exemple #7
0
 public void LogPlay(Player player, IActionCard card)
 {
     _builder.AppendFormat("{0} played a {1}.", player.Name, card.Name);
     _builder.AppendLine();
 }
Exemple #8
0
 public PlayCardEffect(IActionCard card)
 {
     _card = card;
 }
Exemple #9
0
 public PlayCardEffect(IActionCard card)
 {
     _card = card;
 }
Exemple #10
0
 public static Task PlayCard(this IActionHost host, IActionCard card)
 {
     return(host.PlayCard(card.Name, Zone.Hand));
 }
Exemple #11
0
 public static Task PlayCard(this IActionHost host, IActionCard card, Zone from)
 {
     return(host.PlayCard(card.Name, from));
 }
Exemple #12
0
 public void LogPlay(Player player, IActionCard card)
 {
     _builder.AppendFormat("{0} played a {1}.", player.Name, card.Name);
     _builder.AppendLine();
 }