Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ЗД12 Бой с Боссом.
- using System;
- using System.Collections.Generic;
- namespace ConsoleApp3
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Actor player = new Actor("Игрок", 100);
- Actor boss = new Actor("Противник", 100);
- string[] parts = { "Голову", "Торс", "Ноги"};
- Game game = new Game(parts);
- int userAtattack, userBlock;
- while (player.Healf > 0 && boss.Healf > 0)
- {
- game.PrintMenu(game.MakeMenu());
- Console.Write("Выберите куда бьем: ");
- userAtattack = Convert.ToInt32(Console.ReadLine());
- game.PrintMenu(game.MakeMenu());
- Console.Write("Выберите что защищаем бьем: ");
- userBlock = Convert.ToInt32(Console.ReadLine());
- game.PlayFighting(player, boss, userAtattack, boss.MakeChoices(1, game.countParts));
- game.PlayFighting(boss, player, userBlock, boss.MakeChoices(1, game.countParts));
- Console.WriteLine($"\nВаше здоровье: {player.Healf}, Здровье противника: {boss.Healf}");
- }
- if (player.Healf > 0)
- {
- Console.WriteLine($"{player.Name} одержал победу!");
- }
- else
- {
- Console.WriteLine($"{boss.Name} одержал победу!");
- }
- }
- class Actor
- {
- public string Name { get; private set; }
- public int Healf { get; private set; }
- public int Multiply { get; set; }
- public string MultiplyLable { get; set; }
- private Random _random;
- public Actor(string name, int healf)
- {
- Name = name;
- Healf = healf;
- Multiply = 1;
- MultiplyLable = "";
- _random = new Random();
- }
- public int MakeChoices(int minRandom, int maxRandom)
- {
- return _random.Next(minRandom, maxRandom);
- }
- public int MakeDamage(int minRandom, int maxRandom)
- {
- return _random.Next(minRandom, maxRandom);
- }
- public int TakeDamage(int damage)
- {
- this.Healf -= damage * this.Multiply;
- return this.Healf;
- }
- }
- class Game
- {
- private List<string> _bodyParts = new List<string>();
- public int countParts { get; private set; }
- public Game(string[] bodyParts)
- {
- _bodyParts.AddRange(bodyParts);
- countParts = _bodyParts.Count;
- }
- public string MakeMenu()
- {
- string menu = "";
- int index = 1;
- foreach (var element in _bodyParts)
- {
- menu += $"{index} - {element}\n";
- index++;
- }
- return menu;
- }
- public void PrintMenu(string menu)
- {
- Console.WriteLine($"{menu}");
- }
- public void PlayFighting(Actor attackPlayer, Actor blockPlayer, int attack, int block)
- {
- if (attack == block)
- {
- Console.WriteLine($"{blockPlayer.Name} заблокировал удар!");
- blockPlayer.Multiply = 1;
- blockPlayer.MultiplyLable = "";
- }
- else
- {
- int damage = attackPlayer.MakeDamage(5, 20);
- blockPlayer.TakeDamage(damage);
- Console.WriteLine($"{blockPlayer.MultiplyLable}{attackPlayer.Name} наносит {blockPlayer.Name} {damage * blockPlayer.Multiply} урона в {_bodyParts[attack - 1]}");
- blockPlayer.Multiply++;
- blockPlayer.MultiplyLable = $"Cерия ударов! X{blockPlayer.Multiply} - ";
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement