RedFlys

Home Work 4.6

Nov 8th, 2019
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.87 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp3
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int weapon = 0;
  14.             int changeWeapon = 0;
  15.             int userChange = 0;
  16.             string newWeapon;
  17.             string newWeaponDamage;
  18.             string newWeaponSpeed;
  19.  
  20.  
  21.             string[,] arsenal = { { "Нож", "100", "не стреляет" },
  22.                                   { "Бензопила", "150", "не стреляет" } };
  23.  
  24.             while (true)
  25.             {
  26.                 while (true)
  27.                 {
  28.                     Console.WriteLine("         Арсенал оружия");
  29.  
  30.                     Console.WriteLine($"Вы можете взять: {arsenal[changeWeapon, 0]}");
  31.                     Console.WriteLine($"Урон: {arsenal[changeWeapon, 1]}");
  32.                     Console.WriteLine($"Выстрелов в минуту: {arsenal[changeWeapon, 2]}\n\n");
  33.  
  34.                     Console.WriteLine($"Сейчас экипировано: {arsenal[weapon, 0]}");
  35.                     Console.WriteLine($"Урон: {arsenal[weapon, 1]}");
  36.                     Console.WriteLine($"Выстрелов в минуту: {arsenal[weapon, 2]}");
  37.  
  38.                     Console.WriteLine("\n\n         Меню");
  39.                     Console.WriteLine("1. Добавить оружие");
  40.                     Console.WriteLine("2. Удалить оружие из арсенала");
  41.                     Console.WriteLine("3. Экипировать");
  42.                     Console.WriteLine("4. Следующее оружие");
  43.                     Console.WriteLine("5. Предыдущее оружие");
  44.                     Console.WriteLine("6. Выход");
  45.                     Console.WriteLine("Введите номер команды: ");
  46.                     userChange = Convert.ToInt32(Console.ReadLine());
  47.  
  48.                     Console.Clear();
  49.  
  50.                     if (userChange > 0 && userChange < 7)
  51.                     {
  52.                         break;
  53.                     }
  54.                     else
  55.                     {
  56.                         Console.ForegroundColor = ConsoleColor.Red;
  57.                         Console.WriteLine("Введите корректный номер команды.");
  58.                         Console.ResetColor();
  59.                     }
  60.                 }
  61.  
  62.                 if (userChange == 1)
  63.                 {
  64.                     Console.WriteLine("Введите название оружия: ");
  65.                     newWeapon = Console.ReadLine();
  66.                     Console.WriteLine("Введите урон оружия: ");
  67.                     newWeaponDamage = Console.ReadLine();
  68.                     Console.WriteLine("Введите скорострельность оружия: ");
  69.                     newWeaponSpeed = Console.ReadLine();
  70.  
  71.                     arsenal = AddWeapon(newWeapon, newWeaponDamage, newWeaponSpeed, arsenal);
  72.                 }
  73.                 else if (userChange == 2)
  74.                 {
  75.                     arsenal = DeleteWeapon(changeWeapon, arsenal);
  76.  
  77.                     changeWeapon = 0;  
  78.                 }
  79.                 else if (userChange == 3)
  80.                 {
  81.                     weapon = EquipWeapon(changeWeapon, arsenal);                    
  82.                 }
  83.                 else if (userChange == 4)
  84.                 {
  85.                     changeWeapon++;
  86.                     if (changeWeapon == arsenal.GetLength(0))
  87.                         changeWeapon = 0;
  88.                     Console.Clear();
  89.                 }
  90.                 else if (userChange == 5)
  91.                 {
  92.                     changeWeapon--;
  93.                     if (changeWeapon < 0)
  94.                         changeWeapon = arsenal.GetLength(0) - 1;
  95.                     Console.Clear();
  96.                 }
  97.                 else if (userChange == 6)
  98.                     break;
  99.             }
  100.         }
  101.  
  102.         static string[,] AddWeapon(string newWeapon, string newWeaponDamage, string newWeaponSpeed, string[,] arsenal)
  103.         {
  104.             string[,] tempArsenal = new string[arsenal.GetLength(0) + 1, 3];
  105.  
  106.             for (int i = 0; i < arsenal.GetLength(0); i++)
  107.             {
  108.                 for (int j = 0; j < arsenal.GetLength(1); j++)
  109.                 {
  110.                     tempArsenal[i, j] = arsenal[i, j];
  111.                 }
  112.             }
  113.  
  114.             tempArsenal[tempArsenal.GetLength(0) - 1, 0] = newWeapon;
  115.             tempArsenal[tempArsenal.GetLength(0) - 1, 1] = newWeaponDamage;
  116.             tempArsenal[tempArsenal.GetLength(0) - 1, 2] = newWeaponSpeed;
  117.  
  118.             arsenal = tempArsenal;
  119.  
  120.             Console.Clear();
  121.  
  122.             return arsenal;
  123.         }
  124.  
  125.         static string[,] DeleteWeapon(int changeWeapon, string[,] arsenal)
  126.         {
  127.             string[,] tempArsenal = new string[arsenal.GetLength(0) - 1, 3];
  128.  
  129.             for (int i = 0; i<changeWeapon; i++)
  130.             {
  131.                 for (int j = 0; j<arsenal.GetLength(1); j++)
  132.                 {
  133.                     tempArsenal[i, j] = arsenal[i, j];
  134.                 }
  135.             }
  136.  
  137.             for (int i = changeWeapon; i<arsenal.GetLength(0) - 1; i++)
  138.             {
  139.                 for (int j = 0; j<arsenal.GetLength(1); j++)
  140.                 {
  141.                     tempArsenal[i, j] = arsenal[i + 1, j];
  142.                 }
  143.             }
  144.  
  145.             arsenal = tempArsenal;
  146.  
  147.             return arsenal;
  148.         }
  149.  
  150.         static int EquipWeapon(int changeWeapon, string [,] arsenal)
  151.         {
  152.             int weapon = changeWeapon;
  153.  
  154.             Console.WriteLine($"Вы экипировали: {arsenal[weapon, 0]}");
  155.             Console.ReadKey();
  156.             Console.Clear();
  157.  
  158.             return weapon;
  159.         }
  160.     }
  161. }
Advertisement
Add Comment
Please, Sign In to add comment