Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Lesson4_6
- {
- class Program
- {
- static void Main(string[] args)
- {
- string[,] guns = new string[0 , 4];
- string[] gunEquipped = new string[3];
- bool exit = false;
- bool errorInput;
- int idGun;
- do
- {
- errorInput = false;
- Console.Write("1) Создать оружие\n" +
- "2) Экипировать оружие\n" +
- "3) Удалить оружие\n" +
- "4) Вывести список оружия\n" +
- "0) Выход\n\n" +
- "Ввод: ");
- string idCommand = Console.ReadLine();
- switch (idCommand)
- {
- case "1":
- guns = CreateGun(guns);
- break;
- case "2":
- gunEquipped = EquipGun(gunEquipped , guns);
- break;
- case "3":
- guns = DeletionGun(guns);
- break;
- case "4":
- Console.WriteLine("\n № | Название | Урон | Скорострел.");
- for (int i = 0; i < guns.GetLength(0); i++)
- {
- Console.Write($" {guns[i , 0]}");
- for (int j = 0; j < 3 - Convert.ToString(guns[i , 0]).Length; j++)
- {
- Console.Write(" ");
- }
- Console.Write($" | {guns[i , 1]}");
- for (int j = 0; j < 32 - Convert.ToString(guns[i , 1]).Length; j++)
- {
- Console.Write(" ");
- }
- Console.Write($" | {guns[i , 2]}");
- for (int j = 0; j < 8 - Convert.ToString(guns[i , 2]).Length; j++)
- {
- Console.Write(" ");
- }
- Console.Write($" | {guns[i , 3]}");
- for (int j = 0; j < 8 - Convert.ToString(guns[i , 3]).Length; j++)
- {
- Console.Write(" ");
- }
- Console.WriteLine();
- }
- Console.WriteLine();
- break;
- case "0":
- exit = true;
- break;
- default:
- Console.WriteLine("\nОшибка ввода! Попробуйте снова\n");
- errorInput = true;
- break;
- }
- }
- while (errorInput || !exit);
- }
- private static string[,] CreateGun(string[,] guns)
- {
- Console.WriteLine("\nСоздание оружия:");
- string name = "";
- do
- {
- Console.Write("Название(до 32 символов): ");
- name = Console.ReadLine();
- }
- while (name.Length > 32);
- Console.Write("Урон: ");
- int damage = Convert.ToInt32(Console.ReadLine());
- Console.Write("Скорострельность: ");
- int speedFire = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine();
- string[,] gunsNew = new string[guns.GetLength(0) + 1 , guns.GetLength(1)];
- for (int i = 0; i < guns.GetLength(0); i++)
- {
- for (int j = 0; j < guns.GetLength(1); j++)
- {
- gunsNew[i , j] = guns[i , j];
- }
- }
- gunsNew[guns.GetLength(0) , 0] = Convert.ToString(guns.GetLength(0) + 1);
- gunsNew[guns.GetLength(0) , 1] = name;
- gunsNew[guns.GetLength(0) , 2] = Convert.ToString(damage);
- gunsNew[guns.GetLength(0) , 3] = Convert.ToString(speedFire);
- return gunsNew;
- }
- private static string[] EquipGun(string[] gunEquipped , string[,] guns)
- {
- bool exit = false;
- bool errorInput;
- string idCommand;
- int idGun;
- do
- {
- Console.WriteLine("\nЭкипированое оружие:");
- if (gunEquipped[0] == null)
- Console.WriteLine("Пусто\n");
- else
- Console.WriteLine($"Название: {gunEquipped[0]}\n" +
- $"Урон: {gunEquipped[1]}\n" +
- $"Скорострельность: {gunEquipped[2]}\n");
- do
- {
- errorInput = false;
- if (gunEquipped[0] == null)
- Console.WriteLine("1) Экипировать оружие");
- else
- Console.WriteLine("2) Убрать оружие");
- Console.Write("0) Назад\n" +
- "Ввод: ");
- idCommand = Console.ReadLine();
- switch (idCommand)
- {
- case "1":
- Console.WriteLine("\nВведите номер оружия , подлежащего экипировке");
- do
- {
- Console.Write("Номер: ");
- idGun = Convert.ToInt32(Console.ReadLine());
- }
- while (idGun > guns.GetLength(0) || --idGun < 0);
- for (int i = 0; i < gunEquipped.Length; i++)
- {
- gunEquipped[i] = guns[idGun , i + 1];
- }
- break;
- case "2":
- for (int i = 0; i < gunEquipped.Length; i++)
- {
- gunEquipped[i] = null;
- }
- break;
- case "0":
- exit = true;
- break;
- default:
- Console.WriteLine("\nОшибка ввода! Попробуйте снова\n");
- errorInput = true;
- break;
- }
- }
- while (errorInput);
- }
- while (!exit);
- Console.WriteLine();
- return gunEquipped;
- }
- private static string[,] DeletionGun(string[,] guns)
- {
- int idGun;
- Console.WriteLine("\nВведите номер оружия , подлежащего аннигиляции");
- do
- {
- Console.Write("Номер: ");
- idGun = Convert.ToInt32(Console.ReadLine());
- }
- while (idGun > guns.GetLength(0) || --idGun < 0);
- Console.WriteLine();
- string[,] gunsDelete = new string[guns.GetLength(0) - 1 , guns.GetLength(1)];
- for (int i = 0; i < guns.GetLength(0); i++)
- {
- for (int j = 0; j < guns.GetLength(1); j++)
- {
- if (i < idGun)
- gunsDelete[i , j] = guns[i , j];
- else if (i > idGun)
- {
- if (j == 0)
- gunsDelete[i - 1 , j] = guns[i - 1 , j];
- else
- gunsDelete[i - 1 , j] = guns[i , j];
- }
- }
- }
- return gunsDelete;
- }
- }
- }
Add Comment
Please, Sign In to add comment