Advertisement
dxoraxs

Untitled

Apr 11th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.37 KB | None | 0 0
  1. using System;
  2.  
  3. namespace homework
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             while (true)
  10.             {
  11.                 string nameSkils_1 = "Фигану"; // наносит 200 урона и -дамаг боссу на два хода
  12.                 string nameSkils_2 = "Катомбиз"; // наносит 200 урона мнгновенно, наносит каждый урон следующие два хода и 50 вам
  13.                 string nameSkils_3 = "Мэкролиб"; // +урон к магу (на три хода, потом взрываются)
  14.                 string nameSkils_4 = "Кейнфун"; // наносит 350 урона боссу (если есть 3 скилл)
  15.  
  16.                 const int recoverySkillConst_1 = 2, recoverySkillConst_2 = 2, recoverySkillConst_3 = 3, recoverySkillConst_4 = 2, damageBoss = 75;
  17.                 uint recovery_1 = 0, recovery_2 = 0, recovery_3 = 0, recovery_4 = 0;
  18.  
  19.                 int healthPlayer = 500, healthBoss = 1500;
  20.                 float multiplyPlayerDamage = 1f, multiplyBossDamage = 1f;
  21.  
  22.                 int consoleWidth = Console.WindowWidth, consoleHeight = Console.WindowHeight;
  23.                 const string youWin = "ПОБЕДА", youLose = "YOU DIED";
  24.                 while (true)
  25.                 {
  26.                     Console.Clear();
  27.                     if (healthBoss <= 0)
  28.                     {
  29.                         Console.SetCursorPosition(consoleWidth / 2 - youWin.Length / 2, consoleHeight / 2);
  30.                         Console.WriteLine(youWin);
  31.                         Console.WriteLine("Перезапустить игру?\n\tY\tN");
  32.                         string str = Console.ReadLine();
  33.                         if (str.ToLower() == "y")
  34.                             break;
  35.                         else return;
  36.                     }
  37.                     if (healthPlayer <= 0)
  38.                     {
  39.                         Console.SetCursorPosition(consoleWidth / 2 - youLose.Length / 2, consoleHeight / 2);
  40.                         Console.WriteLine(youLose);
  41.                         Console.WriteLine("Перезапустить игру?\n\tY\tN");
  42.                         string str = Console.ReadLine();
  43.                         if (str.ToLower() == "y")
  44.                             break;
  45.                         else return;
  46.                         return;
  47.                     }
  48.                     if (recovery_1 != 0) recovery_1--;
  49.                     else multiplyBossDamage = 1f;
  50.                     if (recovery_2 != 0)
  51.                     {
  52.                         recovery_2--;
  53.                         healthBoss -= 25;
  54.                     }
  55.                     if (recovery_3 != 0) recovery_3--;
  56.                     else multiplyPlayerDamage = 1f;
  57.                     if (recovery_4 != 0) recovery_4--;
  58.  
  59.                     Console.WriteLine(nameSkils_1 + (recovery_1 != 0 ? ("\t\t" + recovery_1 + " ходов до восстановления") : ""));
  60.                     Console.WriteLine(nameSkils_2 + (recovery_2 != 0 ? ("\t" + recovery_2 + " ходов до восстановления") : ""));
  61.                     Console.WriteLine(nameSkils_3 + (recovery_3 != 0 ? ("\t" + recovery_3 + " ходов до восстановления") : ""));
  62.                     Console.WriteLine(nameSkils_4 + (recovery_4 != 0 ? ("\t\t" + recovery_4 + " ходов до восстановления") : ""));
  63.  
  64.                     for (int i = 0; i < consoleWidth; i++)
  65.                     {
  66.                         Console.SetCursorPosition(i, 10); Console.Write("-");
  67.                     }
  68.                     Console.SetCursorPosition(3, 11);
  69.                     Console.Write("ИГРОК");
  70.                     Console.SetCursorPosition(3, 12);
  71.                     Console.Write("Здоровье: " + healthPlayer);
  72.                     Console.SetCursorPosition(3, 13);
  73.                     Console.Write("Множитель урона: " + multiplyPlayerDamage + "x");
  74.  
  75.                     Console.SetCursorPosition(consoleWidth - 30, 11);
  76.                     Console.Write("БОСС");
  77.                     Console.SetCursorPosition(consoleWidth - 30, 12);
  78.                     Console.Write("Здоровье: " + healthBoss);
  79.                     Console.SetCursorPosition(consoleWidth - 30, 13);
  80.                     Console.Write("Множитель урона: " + multiplyBossDamage + "x");
  81.  
  82.  
  83.                     Console.SetCursorPosition(0, 5);
  84.                     bool _bool = false;
  85.                     while (!_bool)
  86.                     {
  87.                         Console.SetCursorPosition(0, 6);
  88.                         for (int i = 0; i < consoleWidth; i++)
  89.                             Console.Write(" ");
  90.                         Console.SetCursorPosition(0, 5);
  91.  
  92.                         Console.Write("\nКакое заклинание использовать? ");
  93.                         string str = Console.ReadLine();
  94.                         switch (str.ToLower())
  95.                         {
  96.                             case "фигану":
  97.                             case "1":
  98.                                 if (recovery_1 == 0)
  99.                                 {
  100.                                     _bool = true;
  101.                                     healthBoss -= (int)(200 * multiplyPlayerDamage);
  102.                                     multiplyBossDamage = 0.75f;
  103.                                     recovery_1 = recoverySkillConst_1;
  104.                                 }
  105.                                 else Console.WriteLine("Это заклинание еще не восстановилось! Попробуйте на следующем ходу.");
  106.                                 break;
  107.                             case "катомбиз":
  108.                             case "2":
  109.                                 if (recovery_2 == 0)
  110.                                 {
  111.                                     _bool = true;
  112.                                     healthBoss -= (int)(200 * multiplyPlayerDamage);
  113.                                     healthPlayer -= 50;
  114.                                     recovery_2 = recoverySkillConst_2;
  115.                                 }
  116.                                 else Console.WriteLine("Это заклинание еще не восстановилось! Попробуйте на следующем ходу.");
  117.                                 break;
  118.                             case "мэкролиб":
  119.                             case "3":
  120.                                 if (recovery_3 == 0)
  121.                                 {
  122.                                     _bool = true;
  123.                                     multiplyPlayerDamage = 1.5f;
  124.                                     recovery_3 = recoverySkillConst_3;
  125.                                 }
  126.                                 else Console.WriteLine("Это заклинание еще не восстановилось! Попробуйте на следующем ходу.");
  127.                                 break;
  128.                             case "кейнфун":
  129.                             case "4":
  130.                                 if (recovery_4 == 0 && recovery_3 != 0)
  131.                                 {
  132.                                     _bool = true;
  133.                                     healthBoss -= (int)(350 * multiplyPlayerDamage);
  134.                                     recovery_4 = recoverySkillConst_4;
  135.                                     multiplyPlayerDamage = 1f;
  136.                                 }
  137.                                 else
  138.                                 if (recovery_3 == 0) Console.WriteLine("Это заклинание не доступно без активного заклинания \"Мэкролиб\"");
  139.                                 else Console.WriteLine("Это заклинание еще не восстановилось! Попробуйте на следующем ходу.");
  140.                                 break;
  141.                             default:
  142.                             case "":
  143.                                 Console.Write("Заклинание не найдено");
  144.                                 break;
  145.                         }
  146.                     }
  147.  
  148.                     healthPlayer -= (int)(damageBoss * multiplyBossDamage);
  149.                 }
  150.             }
  151.         }
  152.     }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement