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 CSLight
- {
- class Menu
- {
- static void Main(string[] args)
- {
- Player[] players = new Player[0];
- Database playerDB = new Database(players);
- bool mainMenu = true, playerControlMenu;
- while (mainMenu == true)
- {
- Console.Clear();
- Console.WriteLine("БАЗА ДАННЫХ ИГРОКОВ");
- Console.WriteLine("\nМЕНЮ" +
- "\n1. Меню управления игроками" +
- "\n2. Меню управления банами" +
- "\n3. Показать всех игроков" +
- "\n4. Выход");
- Console.Write("\nВаше действие: ");
- switch (Convert.ToInt32(Console.ReadLine()))
- {
- case 1:
- playerControlMenu = true;
- while(playerControlMenu == true)
- {
- Console.Clear();
- Console.WriteLine("МЕНЮ УПРАВЛЕНИЯ ИГРОКАМИ");
- Console.WriteLine("\n1. Добавить игрока" +
- "\n2. Удалить игрока" +
- "\n3. Назад");
- Console.Write("\nВаше действие: ");
- switch (Convert.ToInt32(Console.ReadLine()))
- {
- case 1:
- Console.Write("\nВведите имя: ");
- string name = Console.ReadLine();
- Console.Write("\nВведите уровень: ");
- int level = Convert.ToInt32(Console.ReadLine());
- playerDB.AddPlayer(ref name, ref level);
- ConsoleMessage("Успешно");
- break;
- case 2:
- Console.Clear();
- Console.WriteLine("СПИСОК ВСЕХ ИГРОКОВ\n");
- playerDB.WriteAllPlayers();
- Console.Write("\nВведите ID игрока: ");
- int delID = Convert.ToInt32(Console.ReadLine());
- delID--;
- playerDB.DelPlayer(ref delID);
- ConsoleMessage("Успешно");
- break;
- case 3:
- playerControlMenu = false;
- break;
- default:
- ConsoleMessage("Такой пункт меню отсутствует");
- break;
- }
- }
- break;
- case 2:
- Console.Clear();
- Console.WriteLine("СПИСОК ВСЕХ ИГРОКОВ\n");
- playerDB.WriteAllPlayers();
- Console.Write("\nВведите ID игрока: ");
- int banID = Convert.ToInt32(Console.ReadLine());
- playerDB.BanStats(ref banID);
- Console.ReadKey();
- break;
- case 3:
- Console.Clear();
- Console.WriteLine("СПИСОК ВСЕХ ИГРОКОВ\n");
- playerDB.WriteAllPlayers();
- Console.ReadKey();
- break;
- case 4:
- mainMenu = false;
- break;
- default:
- ConsoleMessage("Такой пункт меню отсутствует");
- break;
- }
- }
- }
- static void ConsoleMessage(string message)
- {
- Console.ForegroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine(message);
- Console.ResetColor();
- Console.ReadKey();
- Console.Clear();
- }
- }
- class Player
- {
- public int Id { get; set; }
- public string Name { get; set; }
- public int Level { get; set; }
- public bool Banned { get; set; }
- public Player(ref string name, ref int level)
- {
- Name = name;
- Level = level;
- }
- public void WritePlayer()
- {
- Console.Write("ID " + (++Id) + ": " + Name + " (" + Level + " уровень)");
- if(Banned == true)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine(" <==> ЗАБЛОКИРОВАН");
- Console.ResetColor();
- }
- else
- Console.WriteLine();
- }
- }
- class Database
- {
- public Player[] Players;
- public Database(Player[] players)
- {
- Players = players;
- }
- public void WriteAllPlayers()
- {
- for(int i = 0; i < Players.Length; i++)
- {
- Players[i].Id = i;
- Players[i].WritePlayer();
- }
- }
- public void AddPlayer(ref string name, ref int level)
- {
- Player newPlayer = new Player(ref name, ref level);
- Player[] tmpPlayers = new Player[Players.Length + 1];
- for (int i = 0; i < Players.Length; i++)
- {
- tmpPlayers[i] = Players[i];
- }
- tmpPlayers[tmpPlayers.Length - 1] = newPlayer;
- Players = tmpPlayers;
- }
- public void DelPlayer(ref int id)
- {
- int index = -1;
- for (int i = 0; i < Players.Length; ++i)
- {
- if (i == id)
- {
- index = i;
- break;
- }
- }
- Player[] tempName = new Player[Players.Length - 1];
- for (int i = 0, j = 0; i < tempName.Length; ++i, ++j)
- {
- if (j == index)
- ++j;
- tempName[i] = Players[j];
- }
- Players = tempName;
- }
- public void BanStats(ref int id)
- {
- foreach (Player player in Players)
- {
- if (player.Id == id)
- {
- if (!player.Banned)
- {
- player.Banned = true;
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("ИГРОК ЗАБЛОКИРОВАН");
- Console.ResetColor();
- }
- else
- {
- player.Banned = false;
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("ИГРОК РАЗБЛОКИРОВАН");
- Console.ResetColor();
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment