Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Ijunior
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- const string CommandSimpleAttack = "1";
- const string CommandFireBall = "2";
- const string CommandExplosion = "3";
- const string CommandTreatment = "4";
- int bossHealth = 150;
- Random random = new Random();
- int minRandomNumber = 10;
- int maxRandomNumber = 21;
- int userDefaultHealth = 100;
- int userDefaultMana = 20;
- int userCurrentHealth = 100;
- int userCurrentMana = 20;
- int userSimpleAttack = 12;
- int userFireBallAttack = 20;
- int userExplosionAttack = 40;
- int costOfFireBall = 10;
- int increaseHealth = 20;
- int increaseMana = 5;
- int numberOfExplosion = 0;
- int numberOfTreatment = 5;
- bool isWork = true;
- string userInput;
- Console.WriteLine($"Здоровье босса {bossHealth} | Здоровье игрока {userDefaultHealth} | Мана игрока {userDefaultMana}\n");
- while (isWork)
- {
- Console.WriteLine($"{CommandSimpleAttack} - простая атака" +
- $"\n{CommandFireBall} - огненный шар (тратит {costOfFireBall} маны)" +
- $"\n{CommandExplosion} - взрыв (доступно {numberOfExplosion})" +
- $"\n{CommandTreatment} - лечение (доступно {numberOfTreatment})");
- Console.Write("Введите номер действия: ");
- userInput = Console.ReadLine();
- Console.WriteLine();
- switch (userInput)
- {
- case CommandSimpleAttack:
- bossHealth -= userSimpleAttack;
- Console.WriteLine("Игрок атакует на " + userSimpleAttack);
- break;
- case CommandFireBall:
- bossHealth -= userFireBallAttack;
- if (userCurrentMana - costOfFireBall >= 0)
- {
- userCurrentMana -= costOfFireBall;
- numberOfExplosion = 1;
- Console.WriteLine("Игрок атакует на " + userFireBallAttack);
- }
- else
- {
- Console.WriteLine("Недостаточно маны");
- }
- break;
- case CommandExplosion:
- if (numberOfExplosion > 0)
- {
- bossHealth -= userExplosionAttack;
- Console.WriteLine("Игрок атакует на " + userExplosionAttack);
- numberOfExplosion = 0;
- }
- else
- {
- Console.WriteLine("Перед взрывом нужно использовать огненный шар");
- }
- break;
- case CommandTreatment:
- if (numberOfTreatment > 0)
- {
- userCurrentHealth += increaseHealth;
- if (userCurrentHealth > userDefaultHealth)
- {
- userCurrentHealth = userDefaultHealth;
- }
- userCurrentMana += increaseMana;
- if (userCurrentMana > userDefaultMana)
- {
- userCurrentMana = userDefaultMana;
- }
- Console.WriteLine($"Здоровье восстановлено до {userCurrentHealth} | Мана восстановлена до {userCurrentMana}");
- numberOfTreatment--;
- }
- else
- {
- Console.WriteLine("Аптечек больше нет");
- }
- break;
- default:
- Console.WriteLine("Промах игрока");
- break;
- }
- int bossAttack = random.Next(minRandomNumber, maxRandomNumber);
- userCurrentHealth -= bossAttack;
- Console.WriteLine("Босс атакует на " + bossAttack);
- Console.WriteLine($"\nЗдоровье босса {bossHealth} | Здоровье игрока {userCurrentHealth} | Мана игрока {userCurrentMana}\n");
- if (bossHealth < 0 || userCurrentHealth < 0)
- {
- isWork = false;
- }
- }
- if (bossHealth < 0 && userCurrentHealth < 0)
- {
- Console.WriteLine("Ничья");
- }
- else if (bossHealth < 0)
- {
- Console.WriteLine("Победа игрока");
- }
- else if (userCurrentHealth < 0)
- {
- Console.WriteLine("Победа босса");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement