Exemple #1
0
        public AttackAction Attack()
        {
            var attackAction = new AttackAction(this);

            PrintHand();
            Console.WriteLine("Select cards to attack");
            var input = Console.ReadLine();

            if (string.IsNullOrEmpty(input))
            {
                Console.WriteLine("Incorrect input");
                return(Attack());
            }
            var selected = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            var result   = new List <Card>();

            foreach (var s in selected)
            {
                int res;
                if (int.TryParse(s, out res) && res > 0 && res <= Hand.Count)
                {
                    result.Add(Hand[res - 1]);
                }
            }
            if (!attackAction.AddCards(result))
            {
                Console.WriteLine("You can't select these cards");
                return(Attack());
            }
            return(attackAction);
        }
Exemple #2
0
        private void ExecuteAttackCommand(object selectedItems)
        {
            var cards        = ReadSelectedCards(selectedItems);
            var attackAction = new AttackAction(Player);

            if (attackAction.AddCards(cards.ToList()))
            {
                PlayerAction = attackAction;
            }
            else
            {
                MessageBox.Show("Вы не можете выбрать эти карты");
            }
            //Player.WaitForPlayerAction.Set();
            //Player.MutexObj.ReleaseMutex();
            //_mutex.ReleaseMutex();
        }