Advertisement
Seeptim

Lesson_5_2

Aug 26th, 2019
504
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.23 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Lesson_5_2
  4. {
  5.     class Program
  6.     {
  7.         static void Main()
  8.         {
  9.             //База данных игроков. Реализовать базу данных игроков и методы для работы с ней.
  10.             //У игрока может быть порядковый номер, ник, уровень, флаг – забанен ли он(флаг - bool).
  11.             //Реализовать возможность добавления игрока, бана игрока по порядковому номеру,
  12.             //разбана игрока по порядковому номеру и удаление игрока.
  13.             int[] number = new int[0];
  14.             string[] name = new string[0];
  15.             int[] level = new int[0];
  16.             bool[] flag = new bool[0];
  17.             DataBase dataBase = new DataBase();
  18.             Console.WriteLine("Для начала пользования програмой необходимо внести в нее первого игрока");
  19.             number = dataBase.AddPlayerNumber(number, ref name, ref level, ref flag);
  20.             Console.WriteLine("Варианты событий");
  21.             while (true)
  22.             {
  23.                 Console.WriteLine("1. Добавить нового игрока\n" +
  24.                                   "2. Удалить игрока\n" +
  25.                                   "3. Забанить/разбанить игрока\n" +
  26.                                   "4. Вывести список игроков\n" +
  27.                                   "5. Выход");
  28.                 Console.Write("Ваш выбор ");
  29.                 int choise = Convert.ToInt32(Console.ReadLine());
  30.                 switch (choise)
  31.                 {
  32.                     case 1:
  33.                         number = dataBase.AddPlayerNumber(number, ref name, ref level, ref flag);
  34.                         Console.Clear();
  35.                         break;
  36.                     case 2:
  37.                         dataBase.Show(number, name, level, flag);
  38.                         number = dataBase.DelPlayerNumber(number, ref name, ref level, ref flag);
  39.                         Console.Clear();
  40.                         break;
  41.                     case 3:
  42.                         dataBase.Show(number, name, level, flag);
  43.                         flag = dataBase.ChangeFlag(ref number, ref name, ref level, flag);
  44.                         break;
  45.                     case 4:
  46.                         dataBase.Show(number, name, level, flag);
  47.                         break;
  48.                     case 5:
  49.                         Environment.Exit(0);
  50.                         break;
  51.                     default:
  52.                         break;
  53.                 }
  54.             }
  55.         }
  56.     }
  57.     class DataBase
  58.     {
  59.         public int[] AddPlayerNumber(int[] number, ref string[] name, ref int[] level, ref bool[] flag)
  60.         {
  61.             int[] tempNumber = new int[number.Length + 1];
  62.             Console.Write("Введите номер игрока ");
  63.             int xNumber = Convert.ToInt32(Console.ReadLine());
  64.  
  65.             string[] tempName = new string[name.Length + 1];
  66.             Console.Write("Введите имя игрока ");
  67.             string xName = Console.ReadLine();
  68.  
  69.             int[] tempLevel = new int[level.Length + 1];
  70.             Console.Write("Введите уровень игрока ");
  71.             int xLevel = Convert.ToInt32(Console.ReadLine());
  72.  
  73.             bool[] tempFlag = new bool[flag.Length + 1];
  74.             Console.Write("Статус игрока (true or false)");
  75.             bool xFlag;
  76.             if (xFlag = Convert.ToBoolean(Console.ReadLine()) == true)
  77.             {
  78.                 xFlag = true;
  79.             }
  80.             else
  81.             {
  82.                 xFlag = false;
  83.             }
  84.            
  85.             for (int i = 0; i < tempNumber.Length - 1; i++)
  86.             {
  87.                 tempNumber[i] = number[i];
  88.                 tempName[i] = name[i];
  89.                 tempLevel[i] = level[i];
  90.                 tempFlag[i] = flag[i];
  91.             }
  92.             for (int i = number.Length; i <= number.Length; i++)
  93.             {
  94.                 tempNumber[i] = xNumber;
  95.                 tempName[i] = xName;
  96.                 tempLevel[i] = xLevel;
  97.                 tempFlag[i] = xFlag;
  98.             }
  99.             number = tempNumber;
  100.             name = tempName;
  101.             level = tempLevel;
  102.             flag = tempFlag;
  103.             return number;
  104.         }
  105.         public void Show(int[] number, string[] name, int[] level, bool[] flag)
  106.         {
  107.             for (int i = 0; i < number.Length; i++)
  108.             {
  109.                 Console.WriteLine("Номер игрока - {0} его имя {1} его уровень {2} статус {3}", number[i], name[i], level[i], flag[i]);
  110.                 Console.WriteLine();
  111.             }
  112.         }
  113.         public int[] DelPlayerNumber(int[] number, ref string[] name, ref int[] level, ref bool[] flag)
  114.         {
  115.             int[] tempNumber = new int[number.Length - 1];
  116.             string[] tempName = new string[name.Length - 1];
  117.             int[] tempLevel = new int[level.Length - 1];
  118.             bool[] tempFlag = new bool[level.Length - 1];
  119.             Console.Write("Введите номер игрока, кого хотите удалить ");
  120.             int x = Convert.ToInt32(Console.ReadLine());
  121.             for (int i = 0, j = 0; i < number.Length; i++)
  122.             {
  123.                 if (x == number[i])
  124.                 {
  125.                     continue;
  126.                 }
  127.                 else if (x != number[i])
  128.                 {
  129.                     tempNumber[j] = number[i];
  130.                     tempName[j] = name[i];
  131.                     tempLevel[j] = level[i];
  132.                     tempFlag[j] = flag[i];
  133.                     j++;
  134.                 }
  135.             }
  136.             number = tempNumber;
  137.             name = tempName;
  138.             level = tempLevel;
  139.             flag = tempFlag;
  140.             return number;
  141.         }
  142.         public bool[] ChangeFlag(ref int[] number, ref string[] name, ref int[] level, bool[] flag)
  143.         {
  144.             int[] tempNumber = new int[number.Length];
  145.             string[] tempName = new string[name.Length];
  146.             int[] tempLevel = new int[level.Length];
  147.             bool[] tempFlag = new bool[level.Length];
  148.             Console.Write("Введите номер игрока, статус которого необходимо изменить ");
  149.             int x = Convert.ToInt32(Console.ReadLine());
  150.             for (int i = 0; i < number.Length; i++)
  151.             {
  152.                 if (x == number[i])
  153.                 {
  154.                     if (flag[i] == true)
  155.                         flag[i] = false;
  156.                     else
  157.                         flag[i] = true;
  158.                 }
  159.                     tempNumber[i] = number[i];
  160.                     tempName[i] = name[i];
  161.                     tempLevel[i] = level[i];
  162.                     tempFlag[i] = flag[i];
  163.             }
  164.             number = tempNumber;
  165.             name = tempName;
  166.             level = tempLevel;
  167.             return flag;
  168.         }
  169.     }
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement