Esempio n. 1
0
        }                             //добавляем еще переменную, которая содержит инфу, стоимость на ход у игрока

        public Game(CardSet card1P1,
                    CardSet card2P1,
                    CardSet card3P1,
                    CardSet card4P1,
                    CardSet card1P2,
                    CardSet card2P2,
                    CardSet card3P2,
                    CardSet card4P2,
                    WarCardPlayer p1,
                    WarCardPlayer p2,
                    CardSet deck)
        {
            //Set1
            player1Set[0] = card1P1;
            player1Set[1] = card2P1;
            player1Set[2] = card3P1;
            player1Set[3] = card4P1;
            //Set2
            player2Set[0] = card1P2;
            player2Set[1] = card2P2;
            player2Set[2] = card3P2;
            player2Set[3] = card4P2;
            //Player1
            Player1 = p1;
            //Player2
            Player2 = p2;

            //deck ////была пропущена!!!!
            Deck = deck;
        }
Esempio n. 2
0
 private void SetActiveCard(PictureBox pictureBox)
 {
     Player[] Players = { game.Player1, game.Player2 };
     foreach (var player in Players)
     {
         foreach (var card in player.PlayerCards.Cards)
         {
             if (((GraphicCard)card).Pb == pictureBox)
             {
                 if (card == activeCard)
                 {
                     activeCard      = null;
                     pictureBox.Top -= 10;
                     mover           = null;
                 }
                 else
                 {
                     activeCard      = card;
                     pictureBox.Top += 10;
                     mover           = (WarCardPlayer)player;
                 }
                 CheckReady();
                 return;
             }
         }
     }
 }
Esempio n. 3
0
 private void button2_Click(object sender, EventArgs e)
 {
     activeCard = default;
     mover      = default;
     to         = default;
     game.NextMove();
 }
Esempio n. 4
0
        private WarCardPlayer NextPlayer(WarCardPlayer player)
        {
            //тут можно упростить логику, если игроков будет только двое
            if (player == Player1)
            {
                return(Player2);
            }

            return(Player1);
        }
Esempio n. 5
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;//проверить побитые карты
        }
Esempio n. 6
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();
        }
Esempio n. 7
0
 private void SetActivePlayer(WarCardPlayer player)
 {
     ActivePlayer = player;
     MarkActivePlayer(ActivePlayer);
     ActivePlayerTable = ActivePlayer == Player1 ? Player1Set : Player2Set;
 }