using System; namespace ConsoleApp14.BossFight { class Program { static void Main(string[] args) { string name; int newGame = 0; int userChange; int userHP = 500; int fix = 15; int cycle = 20; int keybooardBump = 50; int heal = 200; int light = 40; int courses = 2000; int firstAndKit = 4; int bossHP = 1000; int blindness = 20; int uncycle = 50; int superCycle = 10; int gas = 450; int blind = 1; int minion = 0; int minionAttack; int antiCicle = 1; int minNumber = 0, maxNumber = 101; int number, changeAttack; Random random = new Random(); Console.WriteLine("Введите своё имя:"); name = Console.ReadLine(); Console.Clear(); Console.Write($"Приветствую тебя, {name}, в рядах полиции кода. Сегодня у тебя рейд на говнокодера, но помни, что это опытный говнокодер. "); Console.Write("От его кода закровоточили глаза у многих наших товарищей. "); Console.Write("Я дам тебе досье на него. Прочти перед тем, как отправиться за ним.\n\n"); do { Console.WriteLine("1. Начать рейд \n2. Прочесть досье \n3. Мои способности\n"); userChange = Convert.ToInt32(Console.ReadLine()); if (userChange == 1) { Console.WriteLine("Отправляемся"); newGame++; Console.ReadKey(); Console.Clear(); break; } else if (userChange == 2) { Console.WriteLine("Говнокодер, в определённых кругах известен, как UserXXX123."); Console.WriteLine("Вес: 451кг."); Console.WriteLine("Рост: 175см."); Console.WriteLine("Уровень опасности: высокий.\n"); Console.WriteLine("Обладает следующими способностями: \n"); Console.Write($" 1. Ослепление - показывает свой самый кривой код, из-за чего начинает идти кровь из глаз, а цвета начинают путаться. "); Console.Write($"Наносит {blindness} урона, меняет цвет в консоли."); Console.WriteLine($" 2. Антицикл - повторяющиеся строчки кода заваливают противника. Наносит {uncycle} урона."); Console.WriteLine($" 3. Суперкурс - создаёт одного ученика, который каждый ход будет наносить {superCycle} урона. "); Console.Write($" 4. Газы - так как говнокодер питается только шаурмой, выпускает сильные газы, убивающие всё в округе. "); Console.Write($"Наносит {gas} урона.\n"); Console.WriteLine("\nНажмите любую клавишу, что бы вернуться"); Console.ReadKey(); Console.Clear(); } else if (userChange == 3) { Console.WriteLine("Вы обладаете следующими способностями: \n"); Console.WriteLine($" 1. Исправить - исправляет вражеский код. Наносит противнику {fix} урона и восстанавливает пользователю {fix} здоровья."); Console.WriteLine($" 2. Цикл - создаёт цикл, наносящий {cycle}. Если используется после антицикла противника - увеличивает урон в 3 раза."); Console.WriteLine($" 3. Удар клавиатурой - бьёте аппонента клавиатурой в лицо. Наносит {keybooardBump} урона."); Console.WriteLine($" 4. Аптечка - восстанавливает пользователю {heal} здоровья. Доступно за бой {firstAndKit} использования."); Console.Write($" 5. Просветление - появляется, если противник использовал ослепление. Протираете глаза спиртом и исправляете код противника. "); Console.Write($"Наносит противнику {light} урона и восстанавливает пользователю {light} здоровья. \n"); Console.Write($" 6. Курсы - появляется, если у пользователя осталось меньше 10 здоровья. Отправляет противника на курсы Романа Сакутина."); Console.Write($"Наносит противнику {courses} урона.\n"); Console.WriteLine("\nНажмите любую клавишу, что бы вернуться"); Console.ReadKey(); Console.Clear(); } else { Console.WriteLine("Выберите корректный номер команды."); Console.ReadKey(); Console.Clear(); } } while (newGame == 0); Console.WriteLine("Дом говнокодера окружён полицией. Вы готовитесь к штурму. \n3. \n2. \n1. \n \n Вы внутри.\n Он оказывает сопротивление:"); do { Console.WriteLine($"Ваше здоровье: {userHP} Здоровье врага: {bossHP}"); if (blind == 2) Console.Write("\nВы ослеплены."); Console.WriteLine("Ваш ход\n"); Console.WriteLine("Выберите,как будете атаковать:"); Console.WriteLine($" 1. Исправить. Наносит {fix} урона и восстанавливает {fix} здоровья."); Console.WriteLine($" 2. Цикл. Наносит {cycle} урона."); Console.WriteLine($" 3. Удар клавиатурой. Наносит {keybooardBump}."); Console.WriteLine($" 4. Аптечка. Восстанавливает {heal} здоровья. Ещё доступно {firstAndKit} использования."); if (blind == 2) Console.WriteLine($" 5. Просветление. Наносит противнику {light} урона и восстанавливает пользователю {light} здоровья. \n"); if (userHP <= 10) Console.WriteLine($" 6. Курсы. Наносит противнику {courses} урона.\n"); while (true) { userChange = Convert.ToInt32(Console.ReadLine()); if (userChange == 1) { userHP += fix; if (userHP > 500) userHP = 500; bossHP -= fix; Console.WriteLine($"Вы вылечили себе {fix} и нанесли {fix}."); break; } if (userChange == 2) { bossHP -= cycle * antiCicle; Console.WriteLine($"Вы нанесли {cycle * antiCicle}."); break; } if (userChange == 3) { bossHP -= keybooardBump; Console.WriteLine($"Вы нанесли {keybooardBump}."); break; } if (userChange == 4) { if (firstAndKit > 0) { firstAndKit--; userHP += heal; if (userHP > 500) userHP = 500; Console.WriteLine($"Вы вылечили себе {heal}."); break; } else { Console.WriteLine("К сожалению у вас закончились аптечки. Выберите другое действие."); } } if (userChange == 5 && blind == 2) { Console.ResetColor(); blind = 1; userHP += light; if (userHP > 500) userHP = 500; bossHP -= light; Console.WriteLine($"Вы вылечили себе {light} и нанесли {light}."); break; } if (userChange == 6 && userHP <= 10) { bossHP -= courses; Console.WriteLine($"Вы нанесли {courses}."); break; } else { Console.WriteLine("Выберите корректное действие."); } } if (bossHP <= 0) break; number = random.Next(minNumber, maxNumber); if (number >= 0 && number <= 20) { userHP -= blindness; Console.WriteLine($"Вам нанесли {blindness}."); blind = 2; Console.ForegroundColor = ConsoleColor.Red; Console.BackgroundColor = ConsoleColor.Yellow; } else if (number > 20 && number <= 65) { userHP -= uncycle; Console.WriteLine($"Вам нанесли {uncycle}."); } else if (number > 65 && number <= 95) { minion++; Console.WriteLine("Противник обучил ученика."); } else if (number > 95 && number <= 100) { userHP -= gas; minion = 0; Console.WriteLine($"Вам нанесли {gas}."); } if (minion > 0) { minionAttack = minion * superCycle; userHP = -minionAttack; Console.Write($"У соперника {minion} учеников. Они нанесли {minionAttack} урона."); } if (userHP <= 0) break; Console.ReadKey(); Console.Clear(); } while (userHP > 0 || bossHP > 0); if (bossHP <= 0 && userHP > 0) Console.WriteLine("Поздравляю, ты победил!"); else Console.WriteLine("Вы проиграли. Попробуйте ещё раз."); Console.ReadKey(); } } }