Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace homeWorkBossFight
- {
- class Program
- {
- static void Main(string[] args)
- {
- const string CommandSimpleAttack = "1";
- const string CommandFireBallAttack = "2";
- const string CommandBlastAttack = "3";
- const string CommandRecovery = "4";
- Random random = new Random();
- int minValueHealthBoss = 500;
- int minValueAttackBoss = 10;
- int maxValueHealthBoss = 1000;
- int maxValueAttackBoss = 50;
- int minValueHealthPlayer = 10;
- int minValueSimpleAttackPlayer = 1;
- int minValueFireBallAttack = 10;
- int minValueBlastAttack = 50;
- int minValueMannaPlayer = 50;
- int maxValueHealthPlayer = 100;
- int maxValueSimpleAttackPlayer = 100;
- int maxValueFireBallAttack = 150;
- int maxValueBlastAttack = 250;
- int maxValueMannaPlayer = 100;
- int costFireBallAttack = 10;
- int costBlastAttack = 25;
- int countUseRecovery = 5;
- float bossHealth = random.Next(minValueHealthBoss, maxValueHealthBoss + 1);
- float bossAttack;
- float playerHealthStandartValue = random.Next(minValueHealthPlayer, maxValueHealthPlayer + 1);
- float playerSimpleAttack;
- float playerFireBallAttack;
- float playerBlastAttack;
- float playerMannaStandartValue = random.Next(minValueMannaPlayer, maxValueMannaPlayer + 1);
- float playerHealth = playerHealthStandartValue;
- float playerManna = playerMannaStandartValue;
- bool isUseRecovery = false;
- bool isUseFireBall = false;
- string userInput;
- while (playerHealth > 0 && bossHealth > 0)
- {
- bossAttack = random.Next(minValueAttackBoss, maxValueAttackBoss + 1);
- playerSimpleAttack = random.Next(minValueSimpleAttackPlayer, maxValueSimpleAttackPlayer + 1);
- playerFireBallAttack = random.Next(minValueFireBallAttack, maxValueFireBallAttack + 1);
- playerBlastAttack = random.Next(minValueBlastAttack, maxValueBlastAttack + 1);
- Console.WriteLine(
- $"\n" + $"Битва с боссом! \n" +
- $"----------------------------\n" +
- $"HP босса: {bossHealth}\n" +
- $"Атака босса: {bossAttack}\n" +
- $"----------------------------\n" +
- $"HP вашего персонажа: {playerHealth}\n" +
- $"Атака вашего персонажа: {playerSimpleAttack}\n" +
- $"Количество манны вашего персонажа: {playerManna}\n" +
- $"----------------------------\n");
- Console.Write(
- $"Меню битвы: \n" +
- $"{CommandSimpleAttack} - простая атака \n" +
- $"{CommandFireBallAttack} - запустить файерболл в боса, тратит {costFireBallAttack} манны и наносит {playerFireBallAttack} урона\n" +
- $"{CommandBlastAttack} - взорвать босса, чтобы реализовать нужно сначало запустить фаербол, тратит {costBlastAttack} манны и наносит {playerBlastAttack}\n" +
- $"{CommandRecovery} - восстановление, восстанавливает здоровье и манну. Количество использований {countUseRecovery}.\n" +
- $"\n" +
- $"Введите команду для боя: ");
- userInput = Console.ReadLine();
- Console.Clear();
- switch (userInput)
- {
- case CommandSimpleAttack:
- Console.WriteLine("Вы атаковал боса простой атакой кулаком.\n");
- bossHealth -= playerSimpleAttack;
- break;
- case CommandFireBallAttack:
- if (playerManna >= costFireBallAttack)
- {
- Console.WriteLine("Вы запустили фаербол в босса.\n");
- bossHealth -= playerFireBallAttack;
- playerManna -= costFireBallAttack;
- isUseFireBall = true;
- }
- else
- {
- Console.Clear();
- Console.WriteLine("Недостаточно маны для огненного шара!");
- }
- break;
- case CommandBlastAttack:
- if (isUseFireBall == true && playerManna >= costBlastAttack)
- {
- Console.WriteLine("Вы успешно взрываете босса.");
- bossHealth -= playerBlastAttack;
- playerManna -= costBlastAttack;
- isUseFireBall = false;
- }
- else if (isUseFireBall == false)
- {
- Console.WriteLine("Сначала используйте огненный шар, чтобы активировать взрыв.");
- }
- else
- {
- Console.WriteLine("Недостаточно маны для взрыва!");
- }
- break;
- case CommandRecovery:
- if (countUseRecovery > 0)
- {
- Console.WriteLine("Вы отошли в укрытие для восстановления.");
- playerHealth = playerHealthStandartValue;
- playerManna = playerMannaStandartValue;
- countUseRecovery--;
- isUseRecovery = true;
- }
- else
- {
- Console.WriteLine("Использования восстановления закончились!");
- }
- break;
- default:
- Console.WriteLine("Вы не смогли в пылу боя прописать правильно команду и пропускаете удар от босса.");
- break;
- }
- if (isUseRecovery == false)
- {
- playerHealth -= bossAttack;
- }
- else
- {
- isUseRecovery = false;
- }
- }
- if (bossHealth <= 0 && playerHealth <= 0)
- {
- Console.WriteLine("Ничья! Оба погибли.");
- }
- else if (bossHealth <= 0)
- {
- Console.WriteLine("Поздравляем! Вы победили босса!");
- }
- else if (playerHealth <= 0)
- {
- Console.WriteLine("Босс одержал победу. Вы проиграли.");
- }
- Console.WriteLine("Хорошая была битва.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement