Advertisement
RamGaal

Homework 2 ex.7 v2

May 17th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.18 KB | None | 0 0
  1.                string skilllist = "Страница 1: Плеть тьмы - наносит 20 урона за 5 маны \nСтраница 2: Касание тьмы - наносит 15 урона за 20 маны, восстанавливает 10 здоровья\n" +
  2.                 "Страница 3: Кровавый ужас - наносит 40 урона за 10 маны и 10 здоровья\nСтраница 4: Мрачный покров - восстанавливает 10 маны за 15 здоровья ";
  3.                 string whipname = "Плеть тьмы";
  4.                 string touchname = "Касание тьмы";
  5.                 string horrorname = "Кровавый ужас";
  6.                 string veilname = "Мрачный покров";
  7.                 int whipatk = 20;
  8.                 int touchatk = 15;
  9.                 int horroratk = 40;
  10.                 int veilatk = 0;
  11.                 int whipcost = 5;
  12.                 int touchcost = 20;
  13.                 int horrorcost = 15;
  14.                 int veilcost = -10;
  15.                 int whiprest = 0;
  16.                 int touchrest = 10;
  17.                 int horrorrest = -10;
  18.                 int veilrest = -15;
  19.  
  20.                 int bosskickatk = 10;
  21.                 int bosspunchatk = 5;
  22.                 bool bossstuntrigger = false;
  23.                 int bosshp = 100;
  24.                 int playerhp = 50;
  25.                 int playermana = 70;
  26.  
  27.                 string playeratktype = " ";
  28.                 int playeratk = 0;
  29.                 int playercost = 0;
  30.                 int playerrest = 0;
  31.                 int playerpage = 0;
  32.                 int bossatk = 0;
  33.                 Random rnd = new Random();
  34.                 int bossatktype;
  35.                 int turncounter = 1;
  36.                 bool uknownattack = false;
  37.  
  38.                 Console.WindowHeight = 40;
  39.                 Console.WindowWidth = 100;
  40.                 Console.WriteLine("Приветствую, великий маг теней!\n" +
  41.                     "Спустя столько лет странствий Вы наконец-то встретились\n " +
  42.                     "со своим заклятым врагом - древним боссом-чудовищем.\n" +
  43.                     "Настало время для последней битвы!\n\n" +
  44.                     "Нажмите любую клавишу, чтобы вступить в бой");
  45.                 Console.ReadKey();
  46.                 while (playerhp > 0 && bosshp > 0)
  47.                 {
  48.                     if (!bossstuntrigger && playerhp > 0)
  49.                     {
  50.                         Console.WriteLine("\nВаш ход!\n");
  51.  
  52.                         playeratk = 0;
  53.                         playercost = 0;
  54.                         playerrest = 0;
  55.  
  56.                         while (playermana - playercost >= 0)
  57.                         {
  58.                             Console.WriteLine("В Вашей книге есть следующие заклинания:\n" + skilllist);
  59.                             Console.Write("Введите номер страницы c заклинанием, которое хотите использовать: ");
  60.                             playerpage = Convert.ToInt32(Console.ReadLine());
  61.                             Console.Clear();
  62.                             switch (playerpage)
  63.                             {
  64.                                 case 1:
  65.                                     playeratktype = whipname;
  66.                                     playeratk = whipatk;
  67.                                     playercost = whipcost;
  68.                                     playerrest = whiprest;
  69.                                     break;
  70.  
  71.                                 case 2:
  72.                                     playeratktype = touchname;
  73.                                     playeratk = touchatk;
  74.                                     playercost = touchcost;
  75.                                     playerrest = touchrest;
  76.                                     break;
  77.  
  78.                                 case 3:
  79.                                     playeratktype = horrorname;
  80.                                     playeratk = horroratk;
  81.                                     playercost = horrorcost;
  82.                                     playerrest = horrorrest;
  83.                                     break;
  84.  
  85.                                 case 4:
  86.                                     playeratktype = veilname;
  87.                                     playeratk = veilatk;
  88.                                     playercost = veilcost;
  89.                                     playerrest = veilrest;
  90.                                     break;
  91.                                 default:
  92.                                     uknownattack = true;
  93.                                     break;
  94.  
  95.                             }
  96.                             if (playercost > playermana || uknownattack)
  97.                             {
  98.                                 if (uknownattack)
  99.                                 {
  100.                                     Console.WriteLine("У Вас нет такого заклинания!");
  101.                                 }
  102.                                 else
  103.                                 {
  104.                                     Console.WriteLine("Вы не можете использовать это заклинание!\n" +
  105.                                         "У Вас всего " + playermana + " единиц маны!");
  106.                                 }
  107.                                 uknownattack = false;
  108.                                 playeratk = 0;
  109.                                 playercost = 0;
  110.                                 playerrest = 0;
  111.                             }
  112.                             else
  113.                             {
  114.                                 break;
  115.                             }
  116.                         }
  117.                         bosshp -= playeratk;
  118.                         playermana -= playercost;
  119.                         playerhp += playerrest;
  120.  
  121.                         Console.WriteLine("\nВы используете " + playeratktype + " !");
  122.                         Console.WriteLine("Здоровье босса = " + bosshp + " единиц ");
  123.                         Console.WriteLine("Ваше здоровье = " + playerhp + " единиц");
  124.                         Console.WriteLine("Ваш запас маны = " + playermana + " единиц\n");
  125.                     }
  126.                     bossstuntrigger = false;
  127.                     if (bosshp > 0)
  128.                     {
  129.                         bossatktype = rnd.Next(1, 10);
  130.                         if (bossatktype == 1)
  131.                         {
  132.                             bossatk = bosspunchatk;
  133.                             bossstuntrigger = true;
  134.                         }
  135.                         else
  136.                         {
  137.                             bossatk = bosskickatk;
  138.                         }
  139.                         playerhp -= bossatk;
  140.                         Console.WriteLine("\nБосс наносит " + bossatk + " урона!\nВаше здоровье = " + playerhp + " единиц\n");
  141.                     }
  142.                     turncounter++;
  143.                 }
  144.                 if (bosshp <= 0)
  145.                 {
  146.                     Console.BackgroundColor = ConsoleColor.DarkCyan;
  147.                     Console.Clear();
  148.                     Console.WriteLine("Слава великому магу! Вы победили за " + turncounter + " ходов.\nУ Вас осталось " + playermana + " единиц маны и " + playerhp + " единиц здоровья. \nТеперь можете отдохнуть.");
  149.                 }
  150.                 else
  151.                 {
  152.                     Console.BackgroundColor = ConsoleColor.DarkRed;
  153.                     Console.Clear();
  154.                     Console.WriteLine("Вы проиграли за " + turncounter + " ходов.\nУ босса осталось " + bosshp + " единиц здоровья. \nТеперь его ни что не остановит!");
  155.                 }
  156.                 Console.ReadKey();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement