Advertisement
Gudini

Homework2_11

Mar 14th, 2024 (edited)
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.80 KB | Source Code | 0 0
  1. using System;
  2.  
  3. namespace Homework2_11
  4. {
  5.     internal class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             const string CommandCommonAttack = "Common Attack";
  10.             const string CommandFireball = "Fireball";
  11.             const string CommandExplosion = "Explosion";
  12.             const string CommandHealing = "Healing";
  13.  
  14.             Random random = new Random();
  15.            
  16.             int healthHero = 10;
  17.             int maxHealthHero = 10;
  18.             int manaHero = 30;
  19.             int maxManaHero = 30;
  20.             int damageAttackHero = 2;
  21.             int damageFireBall = 10;
  22.             int damageExplosion = 15;
  23.             int healingHero = 5;
  24.             int numberHealing = 3;
  25.             int healthEnemy = 30;
  26.             int minDamageEnemy = 1;
  27.             int maxDamageEnemy = 5;
  28.             int damageEnemy = random.Next(minDamageEnemy, maxDamageEnemy + 1);
  29.                    
  30.             string desiredOperation = "";
  31.  
  32.             bool canAttackExplosion = false;
  33.  
  34.             while (healthHero > 0 && healthEnemy > 0)
  35.             {
  36.                 Console.WriteLine($"\nЗдоровья Героя: {healthHero}, Мана Героя {manaHero} здоровье Босса: {healthEnemy}");
  37.                 Console.WriteLine("\nВыберете необходимое действие:");
  38.                 Console.WriteLine($"{CommandCommonAttack} - Обычная атака.");
  39.                 Console.WriteLine($"{CommandFireball} - Oгненный шар.");
  40.                 Console.WriteLine($"{CommandExplosion} - Взрыв.");
  41.                 Console.WriteLine($"{CommandHealing} - Лечение.");
  42.                 Console.Write("\nВаш выбор: ");
  43.  
  44.                 desiredOperation = Console.ReadLine();
  45.  
  46.                 switch (desiredOperation)
  47.                 {
  48.                     case CommandCommonAttack:
  49.                         healthEnemy -= damageAttackHero;
  50.                         Console.Write($"\nГерой атаковал Босса нанеся ему {damageAttackHero} урона.");
  51.                         break;
  52.  
  53.                     case CommandFireball:
  54.                         healthEnemy -= damageFireBall;
  55.                         Console.Write($"\nГерой атаковал Босса фаерболом нанеся ему {damageFireBall} урона.");
  56.                         manaHero -= damageFireBall;
  57.                         canAttackExplosion = true;
  58.                         break;
  59.  
  60.                     case CommandExplosion:
  61.                         if (canAttackExplosion && manaHero >= damageFireBall)
  62.                         {
  63.                             healthEnemy -= damageExplosion;
  64.                             Console.Write($"\nГерой использовал взрыв на Боссе после атаки фаерболом нанеся ему {damageExplosion} урона.");
  65.                             canAttackExplosion = false;
  66.                         }
  67.                         break;
  68.  
  69.                     case CommandHealing:
  70.                         if (numberHealing > 0)
  71.                         {
  72.                             healthHero += healingHero;
  73.                             manaHero += healingHero;
  74.                             Console.Write($"\nГерой восстанавливает здоровье на {healingHero} и ману на {healingHero}.");
  75.                             numberHealing--;
  76.                         }
  77.  
  78.                         if (healthHero > maxHealthHero)
  79.                         {
  80.                             healthHero = maxHealthHero;
  81.                         }
  82.  
  83.                         if (manaHero > maxManaHero)
  84.                         {
  85.                             manaHero = maxManaHero;
  86.                         }
  87.                         break;
  88.  
  89.                     default:
  90.                         Console.WriteLine($"\nНеправильная команда, герой пропускает ход.");
  91.                         break;
  92.                 }
  93.  
  94.                 if (healthHero > 0)
  95.                 {
  96.                     healthHero -= damageEnemy;
  97.                     Console.WriteLine($"\nБосс атаковал Героя нанеся ему {damageEnemy} урона.");
  98.                 }
  99.             }
  100.  
  101.             if (healthHero <= 0 && healthEnemy <= 0)
  102.             {
  103.                 Console.WriteLine($"\nНичья Герой и Босс погибли от атaк друг друга.");
  104.             }
  105.             else if (healthHero <= 0)
  106.             {
  107.                 Console.WriteLine($"\nГерой погиб от атaки Босса.");
  108.             }
  109.             else
  110.             {
  111.                 Console.WriteLine($"\nБосс погиб от атaки Героя.");
  112.             }
  113.         }
  114.     }
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement