Advertisement
JohnJuly

Homework19

Nov 17th, 2023 (edited)
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.74 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Homework19
  9. {
  10.     internal class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             const string SpellFireball = "1";
  15.             const string SummoningSpirit = "2";
  16.             const string BananaPeelToss = "3";
  17.             const string DodgeAttack = "4";
  18.  
  19.             Random random = new Random();
  20.  
  21.             int minPlayerHealth = 1900;
  22.             int maxPlayerHealth = 2500;
  23.             int minBossHealth = 2000;
  24.             int maxBossHealth = 4300;
  25.             int minBossDamage = 10;
  26.             int maxBossDamage = 30;
  27.             int minSpiritDamage = 50;
  28.             int maxSpiritDamage = 100;
  29.             int minSpiritHealth = 500;
  30.             int maxSpiritHealth = 700;
  31.  
  32.             int playerHealth = random.Next(minPlayerHealth, maxPlayerHealth);
  33.             int bossHealth = random.Next(minBossHealth, maxBossHealth);
  34.             int spiritHealth = random.Next(minSpiritHealth, maxSpiritHealth);
  35.             int bossDamage = random.Next(minBossDamage, maxBossDamage);
  36.             int spiritDamage = random.Next(minSpiritDamage, maxSpiritDamage);
  37.  
  38.             int minFireballDamage = 50;
  39.             int maxFireballDamage = 75;
  40.             int fireballDamage = random.Next(minFireballDamage, maxFireballDamage);
  41.             int minBurnDamage = 20;
  42.             int maxBurnDamage = 45;
  43.             int burnDamage = random.Next(minBurnDamage, maxBurnDamage);
  44.             int minFallBossDamage = 300;
  45.             int maxFallBossDamage = 350;
  46.             int fallBossDamage = random.Next(minFallBossDamage, maxFallBossDamage);
  47.             int numberTimeEffectActive = 3;
  48.             int notDamage = 0;
  49.            
  50.             bool isFireballActive = false;
  51.             bool isDodgeActive = false;
  52.             bool isSpiritActive = false;
  53.  
  54.             while (playerHealth > 0 && bossHealth > 0)
  55.             {
  56.                 Console.WriteLine($"Здоровье героя{playerHealth} , здоровье монстра {bossHealth}");
  57.                 Console.WriteLine("-------------------------------------------------------------");
  58.                 Console.WriteLine("На вас напал монстр, надо драться! Выберите заклинаие чтобы дать ему отпор.");
  59.                 Console.WriteLine($"{SpellFireball} - наносит урон огнем, следующие {numberTimeEffectActive} хода, добавляет урон от ожога.");
  60.                 Console.WriteLine($"{SummoningSpirit} - призвать духа который будет биться на вашей стороне");
  61.                 Console.WriteLine($"{BananaPeelToss} - бросок кожуры банана под ноги, монстр поскальзывается, бьется головой и получает урон.");
  62.                 Console.WriteLine($"{DodgeAttack} - увернуться от следующей атаки.");
  63.  
  64.                 string userInput = Console.ReadLine();
  65.                 Console.Clear();
  66.  
  67.                 switch (userInput)
  68.                 {
  69.                     case SpellFireball:
  70.                         bossHealth -= fireballDamage;
  71.                         isFireballActive = true;
  72.                         Console.WriteLine($"Урон от огня {fireballDamage}");
  73.                         break;
  74.  
  75.                     case SummoningSpirit:
  76.                         isSpiritActive = true;
  77.                         break;
  78.  
  79.                     case BananaPeelToss:
  80.                         bossHealth -= fallBossDamage;
  81.                         Console.WriteLine($"Урон от падения {fallBossDamage}");
  82.                         break;
  83.  
  84.                     case DodgeAttack:
  85.                         isDodgeActive = true;
  86.                         break;
  87.                 }
  88.  
  89.                 if (isFireballActive && numberTimeEffectActive > 0)
  90.                 {
  91.                     bossHealth -= burnDamage;
  92.                     numberTimeEffectActive--;
  93.                     Console.WriteLine($"Урон от ожога{burnDamage}");
  94.                 }
  95.                 else if (numberTimeEffectActive == 0)
  96.                 {
  97.                     isFireballActive = false;
  98.                 }
  99.  
  100.                 if (spiritHealth >= 0 && isSpiritActive)
  101.                 {
  102.                     spiritHealth -= bossDamage;
  103.                     bossHealth -= spiritDamage;
  104.                     Console.WriteLine($"Здоровья духа {spiritHealth}/ Урон духа {spiritDamage}");
  105.                 }
  106.                 else if (spiritHealth <= 0)
  107.                 {
  108.                     Console.WriteLine("Дух побежден!!!");
  109.                     isSpiritActive = false;
  110.                     playerHealth -= bossDamage;
  111.                 }
  112.  
  113.                 if (isDodgeActive)
  114.                 {
  115.                     Console.WriteLine($"Монстр промахнулся, вы получили {notDamage}");
  116.                     isDodgeActive = false;
  117.                 }
  118.                 else if (isDodgeActive == false && isSpiritActive == false)
  119.                 {
  120.                     playerHealth -= bossDamage;
  121.                 }
  122.             }
  123.  
  124.             if (bossHealth <= 0 && playerHealth <= 0)
  125.             {
  126.                 Console.WriteLine("Ничья!");
  127.             }
  128.             else if (bossHealth <= 0)
  129.             {
  130.                 Console.WriteLine("Вы победили. Монстр повержен!!!");
  131.             }
  132.             else
  133.             {
  134.                 Console.WriteLine("Монстр убил вас!");
  135.             }
  136.         }
  137.     }
  138. }
  139.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement