Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace PlayerDatabase_01
- {
- class Program
- {
- static void Main(string[] args)
- {
- bool isOpen = true;
- string userInput;
- Register register = new Register(new List<Gamer>());
- while (isOpen)
- {
- Console.WriteLine($"админка управления игроками\n");
- Console.WriteLine($"0 - реестр игроков\n1 - добавить игрока\n2 - бан/разбан игрока\n3 - удаление игрока\n4 - выход\n");
- Console.Write($"Введите номер команды: ");
- userInput = Console.ReadLine();
- switch (userInput)
- {
- case "0":
- register.ShowRecords();
- break;
- case "1":
- Console.WriteLine($"\nДобавление игрока\n");
- register.AddRecord();
- break;
- case "2":
- register.BanUnBan();
- break;
- case "3":
- register.DeleteRecord();
- break;
- case "4":
- Console.WriteLine($"\nвыход из программы");
- isOpen = false;
- break;
- }
- Console.Write($"\nнажмите любую для продолжения ");
- Console.ReadKey();
- Console.Clear();
- }
- }
- }
- class Gamer
- {
- private string _nickname;
- private int _level;
- public bool IsBanned { get; set; }
- public Gamer(string nickname, int level, bool isBanned)
- {
- _nickname = nickname;
- _level = level;
- IsBanned = isBanned;
- }
- public void ShowInfo()
- {
- string status = "активный";
- if (IsBanned) status = "предан анафеме";
- Console.WriteLine($"имя игрока: {_nickname}, {_level} уровень, статус: {status}");
- }
- }
- class Register
- {
- private List<Gamer> _gamers;
- public Register(List<Gamer> gamers)
- {
- _gamers = gamers;
- }
- public void ShowRecords()
- {
- int index = 0;
- for (int i = 0; i < _gamers.Count; i++)
- {
- index = i + 1;
- Console.Write($"{index}. ");
- _gamers[i].ShowInfo();
- }
- if (_gamers.Count <= 0) Console.WriteLine($"\nсписок пуст");
- }
- public void AddRecord()
- {
- Console.Write($"Введите имя игрока: ");
- string nickname = Console.ReadLine();
- Console.Write($"Введите уровень игрока: ");
- int limit = 10;
- int level, number;
- if (NumberRange(limit, out number))
- {
- level = number;
- }
- else
- {
- level = 1;
- }
- bool isBanned = false;
- _gamers.Add(new Gamer(nickname, level, isBanned));
- Console.WriteLine($"Добавлен игрок {nickname}");
- }
- public void BanUnBan()
- {
- int index;
- bool flag;
- Console.Write($"Введите номер игрока для блокировки/разблокировки: ");
- if (NumberRange(_gamers.Count, out index))
- {
- flag = _gamers[index].IsBanned;
- flag = !flag;
- _gamers[index].IsBanned = flag;
- Console.WriteLine($"\nСтатус игрока изменен");
- }
- }
- public void DeleteRecord()
- {
- int index;
- Console.Write($"Введите номер игрока для удаления: ");
- if (NumberRange(_gamers.Count, out index))
- {
- _gamers.RemoveAt(index);
- Console.WriteLine($"\nигрок удален");
- }
- else
- {
- Console.WriteLine($"\nиндекс вне диапазона");
- }
- }
- private bool NumberRange(int limit, out int number)
- {
- bool isRange;
- isRange = int.TryParse(Console.ReadLine(),out number);
- if(number <1 || number > limit)
- {
- isRange = false;
- }
- --number;
- return isRange;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement