Advertisement
SnowPhoenix347

4.6

Nov 5th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.51 KB | None | 0 0
  1. using System;
  2.  
  3. namespace FifthProject
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             string[] weapon = new string[1];
  10.             string[] damage = new string[1];
  11.             string[] rate = new string[1];
  12.  
  13.             int equiped = 0;
  14.  
  15.             while (true)
  16.             {
  17.                 ShowEquiped(weapon,  damage, rate, equiped);
  18.                
  19.                 Console.WriteLine("1. Добавить оружие.\n" +
  20.                                   "2. Удалить оружие.\n" +
  21.                                   "3. Экипировать оружие.\n");
  22.                 int menu = ConvertToInt();
  23.                 switch (menu)
  24.                 {
  25.                     case 1:
  26.                         AddNewWeapon(ref weapon, ref damage, ref rate);
  27.                         break;
  28.                     case 2:
  29.                         DeleteWeapon(ref weapon, ref damage, ref rate);
  30.                         break;
  31.                     case 3:
  32.                         Equip(ref equiped, weapon);
  33.                         break;
  34.                 }
  35.             }
  36.         }
  37.  
  38.         static void ShowEquiped(string[] name, string[] damage, string[] rate, int equiped)
  39.         {
  40.             if (name.Length > 0)
  41.             {
  42.                 Console.WriteLine($"Экипированно: {name[equiped]}\n" +
  43.                                   $"Урон: {damage[equiped]}\n" +
  44.                                   $"скорострельность: {rate[equiped]}\n");
  45.             }
  46.         }
  47.  
  48.  
  49.         static void Equip(ref int equiped, string[] weapon)
  50.         {
  51.             ShowAllWeapons(weapon);
  52.             equiped = ConvertToInt();
  53.             if (equiped >= weapon.Length - 1)
  54.             {
  55.                 equiped = 0;
  56.             }
  57.         }
  58.  
  59.         static void ShowAllWeapons(string[] name)
  60.         {
  61.             if (name.Length == 0)
  62.             {
  63.                 Console.WriteLine("Empty list");
  64.             }
  65.             else
  66.             {
  67.                 for (int i = 0; i < name.Length; i++)
  68.                 {
  69.                     Console.WriteLine($"{i + 1}. {name[i]}");
  70.                 }
  71.             }
  72.         }
  73.  
  74.         static void AddNewWeapon(ref string[] name, ref string[] damage, ref string[] rate)
  75.         {
  76.             Console.Write("Введите название для оружие: ");
  77.             AddNewParameter(ref name);
  78.             Console.WriteLine("Введите урон оружия");
  79.             AddNewParameter(ref damage);
  80.             Console.WriteLine("Введите скорострельность оружия");
  81.             AddNewParameter(ref rate);
  82.         }
  83.  
  84.         static void AddNewParameter(ref string[] param)
  85.         {
  86.             string str = Console.ReadLine();
  87.             string[] tempArr = new string[param.Length + 1];
  88.             for (int i = 0; i < param.Length; i++)
  89.             {
  90.                 tempArr[i] = param[i];
  91.             }
  92.  
  93.             tempArr[tempArr.Length - 1] = str;
  94.  
  95.             param = tempArr;
  96.         }
  97.  
  98.         static void DeleteWeapon(ref string[] name, ref string[] damage, ref string[] rate)
  99.         {
  100.             Console.WriteLine("Выберите слот для удаления");
  101.             ShowAllWeapons(name);
  102.             int deleteNumber = ConvertToInt();
  103.             DeleteParameter(ref name, deleteNumber);
  104.             DeleteParameter(ref damage, deleteNumber);
  105.             DeleteParameter(ref rate, deleteNumber);
  106.         }
  107.  
  108.         static void DeleteParameter(ref string[] arr, int deleteNumber)
  109.         {
  110.             string[] tempArr = new string[arr.Length - 1];
  111.             arr[deleteNumber] = null;
  112.             for (int i = 0; i < arr.Length - 1; i++)
  113.             {
  114.                 if (arr[i] != null)
  115.                 {
  116.                     tempArr[i] = arr[i];
  117.                 }
  118.                 else
  119.                 {
  120.                     tempArr[i] = arr[i+1];
  121.                 }
  122.  
  123.             }
  124.  
  125.             arr = tempArr;
  126.         }
  127.         static int ConvertToInt()
  128.         {
  129.             int output;
  130.             bool enterIsCorrect = false;
  131.             do
  132.             {
  133.                 string input = Console.ReadLine();
  134.                 enterIsCorrect = int.TryParse(input, out output);
  135.                 if (!enterIsCorrect)
  136.                 {
  137.                     Console.WriteLine("Error enter. Try again");
  138.                 }
  139.             } while (!enterIsCorrect);
  140.  
  141.             return output;
  142.         }
  143.     }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement