ranee

бой с боссом

Jun 18th, 2020 (edited)
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.46 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.Specialized;
  4. using System.Dynamic;
  5. using System.Linq;
  6. using System.Runtime.Serialization;
  7. using System.Text;
  8. using System.Threading;
  9. using System.Threading.Tasks;
  10. namespace CSLight
  11. {
  12.     class Program
  13.     {
  14.         static void Main(string[] args)
  15.         {
  16.             Random rand = new Random();
  17.             float playerHeals = 1000;
  18.             float playerDamage = rand.Next(192, 400);
  19.             float playerArmor = 25;
  20.             float bossHeals = 2000;
  21.             float bossDamage = rand.Next(100, 300);
  22.             float bossArmor = 40;
  23.             string playerCommand;
  24.             string bossCommand;
  25.             string mainMenuPlayerInfo ="";
  26.             string mainMenuBossInfo = "";
  27.             int soulCounter= 0;
  28.             while (playerHeals >= 0 && bossHeals >= 0)
  29.             {
  30.                 Console.WriteLine("   Показатели игрока");
  31.                 Console.WriteLine($"Атака:          {playerDamage}");
  32.                 Console.WriteLine($"Защита:         {playerArmor}");
  33.                 Console.WriteLine($"Здоровье        {playerHeals}");
  34.                 Console.WriteLine($"Зарядов духа    {soulCounter}");
  35.                 Console.WriteLine($"\n     Босс");
  36.                 Console.WriteLine($"Атака:          {bossDamage}");
  37.                 Console.WriteLine($"Здоровье        {bossHeals}");
  38.                 Console.WriteLine("\n  Варианты действий:");
  39.                 Console.WriteLine("1 - Призвать духа, для нанесения усиленой атаки.");
  40.                 Console.WriteLine("2 - Усиленная атака с использованием зарядов духа.");
  41.                 Console.WriteLine("3 - Лечение");
  42.                 Console.WriteLine("4 - Атака");
  43.                 Console.WriteLine("5 - Сбежать");
  44.                 Console.WriteLine($"Игрок:   {mainMenuPlayerInfo}");
  45.                 Console.WriteLine($"Босс:    {mainMenuBossInfo}");
  46.                 Console.Write("\nВыбор:");
  47.                 playerCommand = Console.ReadLine();
  48.                 if(playerCommand == "5")
  49.                 {
  50.                     break;
  51.                 }
  52.                 else if(playerCommand == "1")
  53.                 {
  54.                     if (soulCounter < 3)
  55.                     {
  56.                         soulCounter++;
  57.                         mainMenuPlayerInfo = $"Зарядов духа {soulCounter}, урон от усиленой атаки составит: {soulCounter * 200}";
  58.                     }
  59.                     else if(soulCounter == 3)
  60.                     {
  61.                         mainMenuPlayerInfo = "Максимальное значение зарядов 3. Ход пропущен.";
  62.                     }
  63.                 }
  64.                 else if(playerCommand =="2")
  65.                 {
  66.                     if(soulCounter > 0)
  67.                     {
  68.                         bossHeals -= (soulCounter * playerDamage / 100 * bossArmor);
  69.                         mainMenuPlayerInfo = $"Вы нанесли боссу {soulCounter * playerDamage / 100 * bossArmor} урона";
  70.                         soulCounter = 0;
  71.                     }
  72.                     else if (soulCounter == 0)
  73.                     {
  74.                         mainMenuPlayerInfo = "Нет зарядов духа. Ход пропущен.";
  75.                     }
  76.                 }
  77.                 else if (playerCommand == "3")
  78.                 {
  79.                     if(playerHeals>=1000)
  80.                     {
  81.                         mainMenuPlayerInfo = "Максимальное количество жизней. Ход пропущен.";
  82.                     }
  83.                     else
  84.                     {
  85.                         playerHeals += 300;
  86.                         mainMenuPlayerInfo ="Исцеление";
  87.                         if(playerHeals >= 1000)
  88.                         {
  89.                             playerHeals = 1000;
  90.                         }
  91.                     }
  92.                 }
  93.                 else if (playerCommand == "4")
  94.                 {
  95.                     bossHeals -= (playerDamage / 100 * bossArmor);
  96.                     mainMenuPlayerInfo = $"Вы нанесли боссу {playerDamage / 100 * bossArmor} урона";
  97.                 }
  98.                 else if (playerCommand != "1" || playerCommand != "2" || playerCommand != "3" || playerCommand != "4" || playerCommand != "5")
  99.                 {
  100.                     mainMenuPlayerInfo = $"Варианта {playerCommand} не существует. Ход пропущен.";
  101.                 }
  102.                 bossCommand = Convert.ToString(rand.Next(0, 6));  
  103.                 switch(bossCommand)
  104.                 {
  105.                     case "0":
  106.                         if(soulCounter>1)
  107.                         {
  108.                             soulCounter = 0;
  109.                             mainMenuBossInfo = "Боcc снял все заряды духа";
  110.                         }
  111.                         else
  112.                         {
  113.                             mainMenuBossInfo = "Боcc ковыряет в носу";
  114.                         }
  115.                         break;
  116.                     case "1":
  117.                     case "2":
  118.                     case "3":
  119.                     case "4":
  120.                         playerHeals -= bossDamage / 100 * playerArmor;
  121.                         mainMenuBossInfo = $"Босс нанес вам {bossDamage / 100 * playerArmor} урона.";
  122.                         break;
  123.                     case "5":
  124.                         bossHeals += rand.Next(100, 500);
  125.                         mainMenuBossInfo = "Босс использовал лечение.";
  126.                         break;
  127.                 }
  128.                 Console.Clear();
  129.             }
  130.             if(playerHeals<=0 && bossHeals<=0)
  131.             {
  132.                 Console.WriteLine("Все мертвы");
  133.             }
  134.             else if(playerHeals<=0)
  135.             {
  136.                 Console.WriteLine("Игрок пал");
  137.             }
  138.             else if(bossHeals<=0)
  139.             {
  140.                 Console.WriteLine("Босс пал");
  141.             }
  142.             else if(bossHeals >= 0 && playerHeals >= 0)
  143.             {
  144.                 Console.WriteLine("Игрок сбежал");
  145.             }
  146.         }
  147.     }
  148. }
Advertisement
Add Comment
Please, Sign In to add comment