Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Basic_Task24
- {
- class Program
- {
- static string mainMenu = "Меню.\n" +
- "1. Добавить игрока\n" +
- "2. Удалить игрока\n" +
- "3. Забанить игрока\n" +
- "4. Разбанить игрока\n" +
- "5. Вывести всех игроков\n" +
- "0. Выход\n";
- static void Main(string[] args)
- {
- DataPlayers dataPlayers = new DataPlayers();
- while (true)
- {
- switch (ReadInt(mainMenu))
- {
- case 1:
- {
- string nickname = ReadString("Введите никнейм игрока: ");
- int level = ReadInt("Введите уровень игрока: ");
- dataPlayers.AddPlayer(new Player(nickname, level));
- break;
- }
- case 2:
- {
- int id = ReadInt("Введите ID игрока: ");
- dataPlayers.RemovePlayer(id);
- break;
- }
- case 3:
- {
- int id = ReadInt("Введите ID игрока: ");
- dataPlayers.BanPlayer(id);
- break;
- }
- case 4:
- {
- int id = ReadInt("Введите ID игрока: ");
- dataPlayers.UnbanPlayer(id);
- break;
- }
- case 5:
- {
- dataPlayers.ShowAllPlayers();
- break;
- }
- case 0:
- return;
- }
- }
- }
- static int ReadInt(string menu)
- {
- int output = 0;
- string input;
- while (true)
- {
- Console.Write(menu);
- input = Console.ReadLine();
- Console.Clear();
- if (int.TryParse(input, out output))
- {
- return output;
- }
- else
- {
- Console.WriteLine("Введено не число, попробуйте еще!");
- }
- }
- }
- static string ReadString(string menu)
- {
- while (true)
- {
- Console.Write(menu);
- string input = Console.ReadLine();
- Console.Clear();
- if (input.Length != 0)
- {
- return input;
- }
- else
- {
- Console.WriteLine("Введена пустая строка, попробуйте еще!");
- }
- }
- }
- }
- class Player
- {
- public int Id { get; }
- public string Nickname { get; }
- public int Level { get; }
- public bool isBanned { get; set; }
- private static int _ids = 0;
- public Player (string nickname, int level)
- {
- Id = ++_ids;
- Nickname = nickname;
- Level = level;
- isBanned = false;
- }
- }
- class DataPlayers
- {
- private List<Player> players;
- public DataPlayers ()
- {
- players = new List<Player>();
- }
- public void AddPlayer (Player player)
- {
- players.Add(player);
- }
- public void BanPlayer (int id)
- {
- for (int i = 0; i < players.Count; i++)
- {
- if (players[i].Id == id)
- {
- players[i].isBanned = true;
- return;
- }
- }
- }
- public void UnbanPlayer(int id)
- {
- for (int i = 0; i < players.Count; i++)
- {
- if (players[i].Id == id)
- {
- players[i].isBanned = false;
- return;
- }
- }
- }
- public void RemovePlayer(int id)
- {
- for (int i = 0; i < players.Count; i++)
- {
- if (players[i].Id == id)
- {
- players.RemoveAt(i);
- return;
- }
- }
- }
- public void ShowAllPlayers()
- {
- foreach (Player player in players)
- {
- Console.Write($"{player.Id}. {player.Nickname} - {player.Level}");
- if (player.isBanned)
- {
- Console.Write(" (Забанен)");
- }
- Console.WriteLine();
- }
- Console.WriteLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement