Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Diagnostics;
- internal class Program
- {
- static void Main(string[] args)
- {
- const string CommandAttack = "1";
- const string CommandFireball = "2";
- const string CommandBigBang = "3";
- const string CommandRecovery = "4";
- int playerMaxHp = 100;
- int playerHp = playerMaxHp;
- int playerMaxMp = 100;
- int playerMp = playerMaxMp;
- int basicDamage = 10;
- int fireballsDamage = 22;
- int manaCostFireball = 30;
- int bigBangDamage = 28;
- int manaCostBigBang = 50;
- int recoveryHp = 20;
- int recoveryMp = 50;
- int countRecovery = 3;
- string userInput;
- int bossHp = 200;
- int minDamage = 5;
- int maxDamage = 21;
- int bossDamage;
- Random random = new Random();
- bool isUsedFireball = false;
- while (bossHp > 0 && playerHp > 0)
- {
- Console.Clear();
- Console.Write($"Твое Здоровье - {playerHp}, Мана - {playerMp}\nЗдоровье босса - {bossHp}");
- if (isUsedFireball == true)
- {
- Console.Write(" Горит!");
- }
- Console.WriteLine($"\n\n{CommandAttack} - Базовая атака (урон-{basicDamage})\n" +
- $"{CommandFireball} - Огненый шар (расход маны-{manaCostFireball}, урон-{fireballsDamage}, поджигает врага)\n" +
- $"{CommandBigBang} - Большой взрыв! (расход маны-{manaCostBigBang}, урон-{bigBangDamage} противнику который подожен! Иначе ничего не будет)\n" +
- $"{CommandRecovery} - Элексир востановления (+{recoveryHp} Нр, +{recoveryMp} Mp. Есть {countRecovery} Элексира)");
- Console.Write("Выбере действие: ");
- userInput = Console.ReadLine();
- switch (userInput)
- {
- case CommandAttack:
- bossHp -= basicDamage;
- Console.WriteLine($"Ты нанес боссу {basicDamage} урона.");
- break;
- case CommandFireball:
- if (manaCostFireball <= playerMp)
- {
- playerMp -= manaCostFireball;
- bossHp -= fireballsDamage;
- isUsedFireball = true;
- Console.WriteLine($"Огненый шар нанес {fireballsDamage} урона и поджег босса!");
- }
- else
- {
- Console.WriteLine("Не достаточно маны! Атака провалилась...");
- }
- break;
- case CommandBigBang:
- if (manaCostBigBang <= playerMp)
- {
- playerMp -= manaCostBigBang;
- if (isUsedFireball)
- {
- bossHp -= bigBangDamage;
- isUsedFireball = false;
- Console.WriteLine($"Мощный взрыв нанес {bigBangDamage} урона!");
- }
- else
- {
- Console.WriteLine("Ману потратил, а взрыва не получилось... Нужно сперва поджечь противника!");
- }
- }
- else
- {
- Console.WriteLine("Не достаточно маны! Атака провалилась...");
- }
- break;
- case CommandRecovery:
- if (countRecovery != 0)
- {
- countRecovery--;
- playerHp += recoveryHp;
- playerMp += recoveryMp;
- Console.WriteLine($"Используя элексир востановил {recoveryHp}Hp и {recoveryMp}Mp");
- }
- else
- {
- Console.WriteLine("Элексиров больше нет!");
- }
- if (playerHp > playerMaxHp)
- {
- playerHp = playerMaxHp;
- }
- if (playerMp > playerMaxMp)
- {
- playerMp = playerMaxMp;
- }
- break;
- default:
- Console.WriteLine("Ты затупил и пропускаешь ход! Будь внимательней!");
- break;
- }
- bossDamage = random.Next(minDamage, maxDamage);
- playerHp -= bossDamage;
- Console.WriteLine($"Босс наносит тебе {bossDamage} урона!");
- Console.ReadKey();
- }
- if (bossHp <= 0 && playerHp <= 0)
- {
- Console.WriteLine("Ты и босс нанесли одновременно смертельный удар! Это ничья.");
- }
- else if (bossHp <= 0)
- {
- Console.WriteLine("Босс повержен! Ты победил!");
- }
- else
- {
- Console.WriteLine("Тебя убили! Это поражение!");
- }
- Console.ReadKey();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement