Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Reflection.Emit;
- namespace Бой_с_боссом
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- const string MenuHolyShield = "1";
- const string MenuJusticeHammer = "2";
- const string MenuReflectAura = "3";
- const string MenuExileUndead = "4";
- const string MenuDamage = "5";
- const int MenuSceletionSpawn = 1;
- const int MenuStun = 2;
- const int MenuDeathTouch = 3;
- const int MenuStrikeAttack = 4;
- int playerHealth = 1000;
- int playerDamage = 100;
- int bossHealth = 1000;
- int bossDamage = 100;
- int sceletionDamage = 50;
- int reflectAuraDamage = 20;
- int sceletionQuantity = 0;
- int increaseAbilityPercent = 20;
- int percentCalculation = 100;
- int deathTouchPercent = 10;
- bool isSpawnSceletion = false;
- bool ableCastReflectAura = false;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine($"*********************************\nПеред вами Некромант - Лич, босс подземелья! Вы - паладин ордена Света, так что бояться нечего:)\n");
- Console.WriteLine("*********************************");
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine($"\nГрамотно используйте умения и вы победите!\nУ некроманта {bossHealth} хп, у вас {playerHealth} хп\n");
- while (playerHealth > 0 && bossHealth > 0)
- {
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine($"Выберите способность:\n {MenuHolyShield} - святой щит (+{increaseAbilityPercent}% хп)\n {MenuJusticeHammer} - молот правосудия (+{increaseAbilityPercent}% к урону)\n " +
- $"{MenuReflectAura} - аура отражения (отражает {increaseAbilityPercent}% урона некроманту)\n {MenuExileUndead} - изгнание нежити (убить всех скелетов врага)\n {MenuDamage} - Удар мечом\n");
- string userInput = Console.ReadLine();
- switch (userInput)
- {
- case MenuHolyShield:
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine($"Вы кастуете святой щит, это дает вам +{increaseAbilityPercent}% хп");
- Console.ForegroundColor = ConsoleColor.White;
- playerHealth += (playerHealth / percentCalculation) * increaseAbilityPercent;
- Console.WriteLine($"У вас стало {playerHealth} хп\n");
- break;
- case MenuJusticeHammer:
- Console.ForegroundColor = ConsoleColor.DarkGray;
- Console.WriteLine("Вы кастуете молот правосудия");
- Console.ForegroundColor = ConsoleColor.White;
- playerDamage += (playerDamage / percentCalculation) * increaseAbilityPercent;
- Console.WriteLine($"Ваш дамаг стал {playerDamage}\n");
- break;
- case MenuReflectAura:
- ableCastReflectAura = true;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine($"Вы кастуете ауру отражения урона (отражаете {increaseAbilityPercent}% физического урона)\n");
- Console.ForegroundColor = ConsoleColor.White;
- break;
- case MenuExileUndead:
- if (isSpawnSceletion == true)
- {
- Console.ForegroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine("Нежить изгнана!\n");
- Console.ForegroundColor = ConsoleColor.White;
- isSpawnSceletion = false;
- sceletionQuantity = 0;
- }
- else
- {
- Console.WriteLine("Изгонять некого");
- }
- break;
- case MenuDamage:
- Console.ForegroundColor = ConsoleColor.DarkRed;
- Console.WriteLine($"Вы наносите удар мечом на {playerDamage} урона");
- Console.ForegroundColor = ConsoleColor.White;
- bossHealth -= playerDamage;
- Console.WriteLine($"У некроманта осталось {bossHealth} хп\n");
- break;
- }
- bool isRun = true;
- while (isRun == true)
- {
- isRun = false;
- Random random = new Random();
- int choseBossAbilities = random.Next(MenuSceletionSpawn, MenuStrikeAttack + 1);
- switch (choseBossAbilities)
- {
- case MenuSceletionSpawn:
- isSpawnSceletion = true;
- Console.ForegroundColor = ConsoleColor.Magenta;
- Console.WriteLine($"Некромант кастует призыв нежити, появляется скелет, наносит вам {sceletionDamage} урона");
- Console.ForegroundColor = ConsoleColor.White;
- sceletionQuantity += 1;
- Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}");
- playerHealth -= sceletionDamage;
- Console.WriteLine($"У вас стало {playerHealth} хп\n");
- if (sceletionQuantity > 1)
- {
- for (int i = 0; i < sceletionQuantity - 1; i++)
- {
- Console.WriteLine($"Скелет наносит вам {sceletionDamage} урона");
- playerHealth -= sceletionDamage;
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine($"У вас осталось {playerHealth} хп\n");
- Console.ForegroundColor = ConsoleColor.White;
- }
- Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}\n");
- }
- break;
- case MenuStun:
- isRun = true;
- Console.ForegroundColor = ConsoleColor.Blue;
- Console.WriteLine("Некромант кастует стан, вы пропускаете ход\n");
- Console.ForegroundColor = ConsoleColor.White;
- if (isSpawnSceletion == true)
- {
- for (int i = 0; i < sceletionQuantity; i++)
- {
- Console.WriteLine($"Скелет наносит вам {sceletionDamage} урона");
- playerHealth -= sceletionDamage;
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine($"У вас осталось {playerHealth} хп\n");
- Console.ForegroundColor = ConsoleColor.White;
- }
- Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}\n");
- }
- break;
- case MenuDeathTouch:
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine($"Некромант кастует касание смерти (-{deathTouchPercent}% вашего хп)");
- Console.ForegroundColor = ConsoleColor.White;
- playerHealth -= (playerHealth / percentCalculation) * deathTouchPercent;
- Console.WriteLine($"У вас осталось {playerHealth} хп\n");
- if (isSpawnSceletion == true)
- {
- for (int i = 0; i < sceletionQuantity; i++)
- {
- Console.WriteLine($"Скелет наносит вам {sceletionDamage} урона");
- playerHealth -= sceletionDamage;
- Console.WriteLine($"У вас осталось {playerHealth} хп\n");
- }
- Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}");
- }
- break;
- case MenuStrikeAttack:
- Console.WriteLine($"Некромант наносит вам {bossDamage} урона");
- playerHealth -= bossDamage;
- Console.WriteLine($"У вас осталось {playerHealth} хп\n");
- if (ableCastReflectAura == true)
- {
- Console.WriteLine("Сработала аура отражения");
- bossHealth -= reflectAuraDamage;
- Console.WriteLine($"У некроманта осталось {bossHealth} хп\n");
- }
- if (isSpawnSceletion == true)
- {
- for (int i = 0; i < sceletionQuantity; i++)
- {
- Console.WriteLine($"Скелет наносит вам {sceletionDamage} урона");
- playerHealth -= sceletionDamage;
- Console.WriteLine($"У вас осталось {playerHealth} хп\n");
- }
- Console.WriteLine($"Всего призванных скелетов {sceletionQuantity}\n");
- }
- break;
- }
- }
- }
- if (playerHealth <= 0 && bossHealth <= 0)
- {
- Console.Clear();
- Console.ForegroundColor = ConsoleColor.DarkRed;
- Console.WriteLine("\n******************************* ОБА МЕРТВЫ! **************************");
- }
- else if (playerHealth <= 0)
- {
- Console.Clear();
- Console.ForegroundColor = ConsoleColor.DarkRed;
- Console.WriteLine("\n******************************* ТЫ МЕРТВ! **************************");
- }
- else if (bossHealth <= 0)
- {
- Console.BackgroundColor = ConsoleColor.DarkGray;
- Console.ForegroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine("\n$$$$$$$$$$$$$$$$ ВЫ ПОБЕДИЛИ! $$$$$$$$$$$$$$$$");
- Console.BackgroundColor = ConsoleColor.Black;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement