예제 #1
0
 static void Game_OnBattleEvent(object sender, BattleEventArgs e)
 {
     if (sender is Game)
     {
         e.MainHero.ShowStatus();
         Console.WriteLine("-------------------------------------------");
         e.Enemy.ShowStatus();
         Console.WriteLine("-------------------------------------------");
         while (e.MainHero.HP > 0 && e.Enemy.HP > 0)
         {
             Console.Write("Ваши действия:\n1 - Атака!\n");
             int turn = Convert.ToInt32(Console.ReadLine());
             Console.WriteLine("-------------------------------------------");
             e.Enemy.HP -= (e.MainHero.Damage - e.Enemy.Armor);
             Console.Write($"Вы атаковали {e.Enemy.Name} и нанесли {e.MainHero.Damage - e.Enemy.Armor} урона!\n");
             Console.WriteLine("-------------------------------------------");
             e.Enemy.ShowStatus();
             Console.WriteLine("-------------------------------------------");
             e.MainHero.HP -= (e.Enemy.Damage - e.MainHero.Armor);
             Console.Write($"Вас атаковал {e.Enemy.Name} и нанес {e.Enemy.Damage - e.MainHero.Armor} урона!\n");
             Console.WriteLine("-------------------------------------------");
             e.MainHero.ShowStatus();
         }
         if (e.Enemy.HP < 1)
         {
             Console.WriteLine("-------------------------------------------");
             Console.Clear();
             Console.WriteLine($"Победа! {e.Enemy.Name} пал...");
             Console.WriteLine("-------------------------------------------");
         }
         else if (e.MainHero.HP < 1)
         {
             Console.WriteLine("-------------------------------------------");
             Console.Clear();
             Console.WriteLine($"Вы были убиты! {e.Enemy.Name} победил!");
             Game.End = true;
         }
     }
 }
예제 #2
0
 public void Meeting(Unit A, BattleEventArgs e)
 {
     //Здесь можно сделать условие на дружественный\нет (При дружеском токинг ивент)
     OnBattleEvent?.Invoke(this, e);
 }