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(); }
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); }
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()); }