コード例 #1
0
        //Последний шаг битвы.
        public void FinalStep()
        {
            //Каждому персонажу в команде победителя даем 100 опыта.
            foreach (Person person in Winner.People)
            {
                person.GetExperience(100);
            }
            //Объявляем победителя, а также чистим класс битвы для последующих битв
            MessageBox.Show("Команда " + Winner.Name + "победила");
            FirstTeam.Loser  = false;
            SecondTeam.Loser = false;
            CurrentEnemyCard = null;
            CurrentStepCard  = null;
            FighterCards.Clear();
            Winner     = null;
            step       = 0;
            FirstTeam  = null;
            SecondTeam = null;

            //FormService.ShowForm(Forms.ChoosingFightForm);

            //Вызываем контрол для выбора битв.
            ChoosingFightControl choosingFightControl = MainForm.GetChoosingFight();

            choosingFightControl.Show();
        }
コード例 #2
0
        //Третий шаг битвы.
        public void ThirdStep()
        {
            //Проверяем всех бойцов на отрицательное хп. Если меньше нуля, то удаляем этого бойца из общего списка бойцов. Соответственно, из проверки на иницативу он тоже убирается
            for (int i = 0; i < FighterCards.Count; i++)
            {
                if (FighterCards[i].HP <= 0)
                {
                    FighterCards.Remove(FighterCards[i]);
                }
            }

            FirstTeam.Loser  = true;
            SecondTeam.Loser = true;
            //Проверяем, есть ли в команде персонажи с хп больше нуля. Если нет, то команда объявлется НЕпроигавшей
            foreach (FighterCard fighterCard in FirstTeam.FighterCards)
            {
                if (fighterCard.HP > 0)
                {
                    FirstTeam.Loser = false;
                }
            }
            foreach (FighterCard fighterCard in SecondTeam.FighterCards)
            {
                if (fighterCard.HP > 0)
                {
                    SecondTeam.Loser = false;
                }
            }

            //Проверяем, проиграла ли какая-то команда и назначаем победиля.
            if (FirstTeam.Loser == true)
            {
                this.Winner = SecondTeam;
            }
            if (SecondTeam.Loser == true)
            {
                this.Winner = FirstTeam;
            }

            //Проверка победителя.
            if (Winner != null)
            {
                FinalStep();
                return;
            }
            //Возвращаемся к первому шагу.
            this.FirstStep();
        }
コード例 #3
0
        //Установка команд. Первая команда и вторая команда.

        public void SetTeams(Team firstTeam, Team secondTeam)
        {
            //перед битвой - очищаем список бойцов-карт, список людей, далее идем в команды - очищаем в них список бойцов, устанавливаем команды
            FighterCards.Clear();
            People.Clear();
            firstTeam.FighterCards.Clear();
            secondTeam.FighterCards.Clear();
            FirstTeam  = firstTeam;
            SecondTeam = secondTeam;

            //В цикле перебираем всех персонажей в двух командах и заносим их в список людей
            foreach (Person person in FirstTeam.People)
            {
                People.Add(person);
            }

            foreach (Person person in SecondTeam.People)
            {
                People.Add(person);
            }
        }