Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace FifthProject
- {
- class Program
- {
- static void Main(string[] args)
- {
- string[] weapon = new string[1];
- string[] damage = new string[1];
- string[] rate = new string[1];
- int equiped = 0;
- while (true)
- {
- ShowEquiped(weapon, damage, rate, equiped);
- Console.WriteLine("1. Добавить оружие.\n" +
- "2. Удалить оружие.\n" +
- "3. Экипировать оружие.\n");
- int menu = ConvertToInt();
- switch (menu)
- {
- case 1:
- AddNewWeapon(ref weapon, ref damage, ref rate);
- break;
- case 2:
- DeleteWeapon(ref weapon, ref damage, ref rate);
- break;
- case 3:
- Equip(ref equiped, weapon);
- break;
- }
- }
- }
- static void ShowEquiped(string[] name, string[] damage, string[] rate, int equiped)
- {
- if (name.Length > 0)
- {
- Console.WriteLine($"Экипированно: {name[equiped]}\n" +
- $"Урон: {damage[equiped]}\n" +
- $"скорострельность: {rate[equiped]}\n");
- }
- }
- static void Equip(ref int equiped, string[] weapon)
- {
- ShowAllWeapons(weapon);
- equiped = ConvertToInt();
- if (equiped >= weapon.Length - 1)
- {
- equiped = 0;
- }
- }
- static void ShowAllWeapons(string[] name)
- {
- if (name.Length == 0)
- {
- Console.WriteLine("Empty list");
- }
- else
- {
- for (int i = 0; i < name.Length; i++)
- {
- Console.WriteLine($"{i + 1}. {name[i]}");
- }
- }
- }
- static void AddNewWeapon(ref string[] name, ref string[] damage, ref string[] rate)
- {
- Console.Write("Введите название для оружие: ");
- AddNewParameter(ref name);
- Console.WriteLine("Введите урон оружия");
- AddNewParameter(ref damage);
- Console.WriteLine("Введите скорострельность оружия");
- AddNewParameter(ref rate);
- }
- static void AddNewParameter(ref string[] param)
- {
- string str = Console.ReadLine();
- string[] tempArr = new string[param.Length + 1];
- for (int i = 0; i < param.Length; i++)
- {
- tempArr[i] = param[i];
- }
- tempArr[tempArr.Length - 1] = str;
- param = tempArr;
- }
- static void DeleteWeapon(ref string[] name, ref string[] damage, ref string[] rate)
- {
- Console.WriteLine("Выберите слот для удаления");
- ShowAllWeapons(name);
- int deleteNumber = ConvertToInt();
- DeleteParameter(ref name, deleteNumber);
- DeleteParameter(ref damage, deleteNumber);
- DeleteParameter(ref rate, deleteNumber);
- }
- static void DeleteParameter(ref string[] arr, int deleteNumber)
- {
- string[] tempArr = new string[arr.Length - 1];
- arr[deleteNumber] = null;
- for (int i = 0; i < arr.Length - 1; i++)
- {
- if (arr[i] != null)
- {
- tempArr[i] = arr[i];
- }
- else
- {
- tempArr[i] = arr[i+1];
- }
- }
- arr = tempArr;
- }
- static int ConvertToInt()
- {
- int output;
- bool enterIsCorrect = false;
- do
- {
- string input = Console.ReadLine();
- enterIsCorrect = int.TryParse(input, out output);
- if (!enterIsCorrect)
- {
- Console.WriteLine("Error enter. Try again");
- }
- } while (!enterIsCorrect);
- return output;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement