示例#1
0
        private void SetCardSet(Control panelOrPb)
        {
            List <CardSet> allSets = new List <CardSet>();

            allSets.AddRange(game.Player1Set);
            allSets.AddRange(game.Player2Set);

            to = panelOrPb is PictureBox?
                 allSets.FirstOrDefault(cs => ((GraphicCard)cs.Cards[0]).Pb == (PictureBox)panelOrPb) :
                     allSets.FirstOrDefault(cs => ((GraphicCardSet)cs).Panel == (Panel)panelOrPb);

            CheckReady();
        }
示例#2
0
        private void Shot(CardSet active, CardSet passive, WarCardPlayer passivePlayer)
        {
            if (active.Cards.Count == 0)
            {
                return;
            }

            if (passive.Cards.Count == 0)                   //проверить побитого игрока
            {
                passivePlayer.HP -= active.Cards[0].Damage; //снять хп
            }

            passive.Cards[0].HP -= active.Cards[0].Damage;//проверить побитые карты
        }
        public CardSet Deal(int amount)
        {
            CardSet c = new CardSet();

            if (amount > Cards.Count)
            {
                amount = Cards.Count;
            }

            for (int i = 0; i < amount; i++)
            {
                c.Add(Cards[0]);
                Cards.RemoveAt(0);
            }

            return(c);
        }
示例#4
0
        public void Move(WarCardPlayer mover, Card card, CardSet to) //тут мы еще получаем кардсет, куда он ходит, назовем его to
        {
            if (mover != ActivePlayer)
            {
                return;
            }

            if (mover.PlayerCards.Cards.IndexOf(card) == -1)
            {
                return;
            }

            //проверяем, ему ли принадлежит кардсет, куда он хочет походить
            if (ActivePlayerTable.FirstOrDefault(cs => cs == to) == null)
            {
                return;
            }



            if (Money < card.Money)
            {
                return;                    // проверяем хватает ли стоимости на ход этой картой
            }
            if (to.Cards.Count > 0)
            {
                to.Cards.Clear();                    //тут проверяем, пустой ли кадсет или нет. Если нет. Ту карту, которая там, сбрасываем (удаляем)
            }
            to.Add(mover.PlayerCards.Pull(card));
            if (Money == 0)
            {
                NextMove();
            }



            Refresh();
        }
 public void Add(CardSet cards)
 {
     Add(cards.Cards.ToArray());
 }