Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Clight_11_fightBoss
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("Приветсвуем вас в виртуальном боксе!");
- Console.Write("\nВведите имя вашего боксера: ");
- string name = Console.ReadLine();
- Console.WriteLine("\n" + name + ", вы готовы? Для старта нажми любую клавишу.");
- Console.ReadKey();
- Console.WriteLine("\nБокс!\n");
- float live = 500;
- float myLive = live;
- float bossLive = live;
- float plusHealth = 50;
- float damage = 100;
- int youKick = 0;
- int bossKick = 0;
- int stepFight = 0;
- int myStep = 1;
- int preMyStep = 0;
- int preBossStep = 0;
- bool actualMyKick;
- bool actualBossKick;
- Random rand = new Random();
- int armor;
- while (myLive > 0 && bossLive > 0)
- {
- Console.WriteLine($"\n{name}, ваша жизнь: {myLive}");
- Console.WriteLine($"жизнь соперника: {bossLive}\n");
- stepFight++;
- if (stepFight % 2 != 0)
- {
- actualMyKick = false;
- while (actualMyKick == false)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine($"\nВыберете свой {myStep} удар:\n");
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine($"1 - Прямой. Максимум поражения - {damage / 4}");
- Console.WriteLine($"2 - Боковой. Максимум поражения - {damage / 2}");
- Console.WriteLine($"3 - Апперкот. Максимум поражения - {damage}");
- Console.WriteLine($"4 - Пропустить удар, но восстановить силы. +{plusHealth} здоровья");
- string currentChoose = Console.ReadLine();
- switch(currentChoose)
- {
- case "1":
- case "2":
- case "3":
- case "4":
- youKick = Convert.ToInt32(currentChoose);
- if (youKick == 3 && bossLive > live / 2)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine($"Нельзя выбрать апперкот, пока у соперника больше {live / 2} (50% жизни). Выберете другой удар.");
- Console.ForegroundColor = ConsoleColor.White;
- }
- else
- {
- if (youKick == 3 && youKick == preMyStep)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine("Нельзя выбрать два апперкота подряд. Выберете другой удар.");
- Console.ForegroundColor = ConsoleColor.White;
- }
- else
- {
- actualMyKick = true;
- }
- }
- break;
- default:
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine("Выберете цифру, соответствующую удару.");
- Console.ForegroundColor = ConsoleColor.White;
- break;
- }
- }
- myStep++;
- preMyStep = youKick;
- switch (youKick)
- {
- case 1:
- armor = rand.Next(50, 101); //каждый удар добавляет погрешность в силу поражения
- bossLive -= damage / 4 * armor / 100;
- break;
- case 2:
- armor = rand.Next(50, 101);
- bossLive -= damage / 2 * armor / 100;
- break;
- case 3:
- armor = rand.Next(50, 101);
- bossLive -= damage * armor / 100;
- break;
- case 4:
- myLive += plusHealth;
- break;
- }
- }
- else
- {
- actualBossKick = false;
- while (actualBossKick == false)
- {
- bossKick = rand.Next(1, 5);
- if (bossKick == 3 && myLive > live / 2)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine("Вы блокировали апперкот соперника.");
- Console.ForegroundColor = ConsoleColor.White;
- }
- else
- {
- if (bossKick == 3 && bossKick == preBossStep)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine("Второй подряд апперкот соперника не прошел.");
- Console.ForegroundColor = ConsoleColor.White;
- }
- else
- {
- actualBossKick = true;
- }
- }
- preBossStep = bossKick;
- }
- switch (bossKick)
- {
- case 1:
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Соперник вас поразил прямым ударом");
- Console.ForegroundColor = ConsoleColor.White;
- armor = rand.Next(50, 101);
- myLive -= damage / 4 * armor / 100;
- break;
- case 2:
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Соперник провел боковой");
- Console.ForegroundColor = ConsoleColor.White;
- armor = rand.Next(50, 101);
- myLive -= damage / 2 * armor / 100;
- break;
- case 3:
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Прошел апперкот соперника");
- Console.ForegroundColor = ConsoleColor.White;
- armor = rand.Next(50, 101);
- myLive -= damage * armor / 100;
- break;
- case 4:
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Соперник решил набраться сил");
- Console.ForegroundColor = ConsoleColor.White;
- bossLive += plusHealth;
- break;
- }
- }
- }
- if (myLive < 0)
- {
- Console.WriteLine("\nУвы, вы Проиграли. До свидания!");
- Console.WriteLine("\nДля выхода нажмите любую клавишу.");
- Console.ReadKey();
- }
- else
- {
- Console.WriteLine("\nПоздравляем с победой! Ждем вас снова!");
- Console.WriteLine("\nДля выхода нажмите любую клавишу.");
- Console.ReadKey();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement