Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace UIElement
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- double health = 0;
- double maxHealth = 30;
- int healthBarPositionX = 0;
- int healthBarPositionY = 0;
- int percentCalculation = 100;
- int requiredFillRate = 0;
- int minCoordinatePosition = 0;
- int maxCoordinatePosition = 100;
- int minHPValue = 0;
- int maxHPValue = 100;
- char coordinateAxisY = 'Y';
- char coordinateAxisX = 'X';
- Console.Write($"Задайте позицию отрисовки хп полоски по Y от {minCoordinatePosition} до {maxCoordinatePosition}: ");
- healthBarPositionY = Convert.ToInt32(Console.ReadLine());
- CheckUserInput(healthBarPositionY,minCoordinatePosition,maxCoordinatePosition, coordinateAxisY);
- Console.WriteLine();
- Console.Write($"Задайте позицию отрисовки хп полоски по X от {minCoordinatePosition} до {maxCoordinatePosition}: ");
- healthBarPositionX = Convert.ToInt32(Console.ReadLine());
- CheckUserInput(healthBarPositionX,minCoordinatePosition,maxCoordinatePosition, coordinateAxisX);
- Console.Write("\nСколько процентов хп должно быть выставлено? ");
- requiredFillRate = Convert.ToInt32(Console.ReadLine());
- while (requiredFillRate < 0 || requiredFillRate > 100)
- {
- Console.WriteLine();
- Console.WriteLine($"Значение должно быть от {minHPValue} до {maxHPValue} %\n");
- Console.Write("Сколько процентов хп должно быть выставлено? ");
- requiredFillRate = Convert.ToInt32(Console.ReadLine());
- }
- health = (maxHealth / percentCalculation) * requiredFillRate;
- DrawBar(health, maxHealth, healthBarPositionX, healthBarPositionY);
- Console.WriteLine();
- }
- static void DrawBar(double health, double maxHealth, int positionY, int positionX, char symbol = '#')
- {
- string bar = "";
- FillBar(0,health,'#',ref bar);
- Console.SetCursorPosition(positionY, positionX);
- Console.Write("[");
- Console.Write(bar);
- bar = "";
- FillBar(health,maxHealth,' ',ref bar);
- Console.Write(bar + "]");
- }
- static string FillBar(double startOfString, double endOfString, char symbol,ref string bar)
- {
- for (double i = startOfString; i < endOfString; i++)
- {
- bar += symbol;
- }
- return bar;
- }
- static int CheckUserInput(int requiredCoordinate, int minCoordinatePosition, int maxCoordinatePosition, char coordinateAxis)
- {
- while (requiredCoordinate < 0 || requiredCoordinate > 100)
- {
- Console.WriteLine();
- Console.WriteLine($"Значение должно быть от {minCoordinatePosition} до {maxCoordinatePosition} %\n");
- Console.Write($"Задайте позицию отрисовки хп полоски по {coordinateAxis} от {minCoordinatePosition} до {maxCoordinatePosition}: ");
- requiredCoordinate = Convert.ToInt32(Console.ReadLine());
- }
- return requiredCoordinate;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement