C# Исходник Баним Плохишей / Разбаниваем Добряков

Savok

Потрачен
Автор темы
176
294
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
БАН / РАЗБАН пользователя
На С#
Идея загорелась при создании онлайн игры по типу "Fall Guys"

Fall Guys — игра в жанрах королевской битвы, платформера и аркадной игры. В одном матче может принимать участие до 60 игроков Каждый матч разбит на несколько раундов. В каждом раунде игроки в ходе участия в мини-играх должны выполнить определённую задачу, при этом часть игроков, которые не выполнили или не успели выполнить условия игры, выбывает. Данные мини-игры могут быть как индивидуальными, так и требующими выполнения задачи в командах из нескольких игроков, которых в зависимости от мини-игры может быть от двух до четырёх. Мини-игры могут иметь разные условия победы и поражения, например: добраться до финиша раньше, чем определённый процент игроков, оставаться на уровне определённый промежуток времени, забить наибольшее количество мячей другой команде и т. д. Игра продолжается до тех пор, пока в финальном раунде не останется один участник.
Сам код​
Фулл код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
 
public class Program
{
    public static void Main()
    {
        DataBase database = new DataBase();
    
        while (true)
        {
            database.ShowInfo();
            Console.WriteLine();
            database.Menu();
            Console.ReadKey();
            Console.Clear();
        }
    }
 
    class Player
    {
        private int _number;
        private string _nickname;
        private int _level;
        private bool _isBanned;
 
    
        public Player(int number, string nickname, int level)
        {
            _number = number;
            _nickname = nickname;
            _level = level;
        }
      
        public void BanPlayer(bool isBanned)
        {
             _isBanned = isBanned;
        }
      
        public void ShowPlayer()
        {
            Console.WriteLine($"{_number}. Никнейм - {_nickname} , Уровень - {_level}, Забанен - {_isBanned}");
        }
    }
 
    class DataBase
    {
        private List<Player> database = new List<Player>();
 
        public DataBase() { }
 
        private void AddPlayer(Player player)
        {
            database.Add(player);
        }
        public void ShowInfo()
        {
            foreach (Player player in database)
            {
                player.ShowPlayer();
            }
        }
 
        public void Menu()
        {
            Console.WriteLine("Выберите что хотите сделать: \n 1 - Добавить игрока \n 2 - Забанить/Разбанить \n 3 - Удалить игрока");
            int userInput = Convert.ToInt32(Console.ReadLine());
            switch (userInput)
            {
                case 1:
                    Console.WriteLine("Введите номер игрока: ");
                    int userInputNumber = Convert.ToInt32(Console.ReadLine());
            
                    Console.WriteLine("Введите никнейм игрока: ");
                    string userInputNickname = Console.ReadLine();
                
                    Console.WriteLine("Введите уровень игрока: ");
                    int userInputLevel = Convert.ToInt32(Console.ReadLine());
                    Player player = new Player(userInputNumber,userInputNickname,userInputLevel);
                    Console.WriteLine("Игрок забанен или нет:");
                    string userInputBan =Console.ReadLine();
                    userInputBan.ToLower();
                    while (true)
                    {
                        if (userInputBan == "Да")
                        {
                            player.BanPlayer(true);
                            break;
                        }
                        else if (userInputBan == "Нет")
                        {
                            player.BanPlayer(false);
                            break;
                        }
                        else
                        {
                            Console.WriteLine("Такая команда отсутствует!");
                        }
                    }
                     database.Add(player);
                    break;
                case 2:
                    Console.WriteLine("Введите номер игрока: ");
                    int userInputSearch = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Что сделать?");
                    string userChoise = Console.ReadLine();
                    userChoise.ToLower();
                    bool ban = true;
                    if (userChoise == "Забанить")
                        ban = true;
                    else if (userChoise == "Разбанить")
                        ban = false;
                    else
                    {
                        Console.WriteLine("Ошибка!");
                    }
                    var a = database.Find(x => x.== userInputSearch);
                    a.BanPlayer(ban);
                    break;
                case 3:
                    Console.WriteLine("Игрока под каким именем вы хотите удалить?");
                    string userInputName = Console.ReadLine();
 
                    database.Remove(database.Find(x => x. == userInputName));
                    break;
                default:
                    Console.WriteLine("Такая команда отсутствует!");
                    break;
 
            }
        }
    }
 }
 
Последнее редактирование:

whyega52

Гений, миллионер, плейбой, долбаеб
Модератор
2,778
2,598
БАН / РАЗБАН пользователя
На С#
Идея загорелась при создании онлайн игры по типу "Fall Guys"

Fall Guys — игра в жанрах королевской битвы, платформера и аркадной игры. В одном матче может принимать участие до 60 игроков. Каждый матч разбит на несколько раундов. В каждом раунде игроки в ходе участия в мини-играх должны выполнить определённую задачу, при этом часть игроков, которые не выполнили или не успели выполнить условия игры, выбывает. Данные мини-игры могут быть как индивидуальными, так и требующими выполнения задачи в командах из нескольких игроков, которых в зависимости от мини-игры может быть от двух до четырёх. Мини-игры могут иметь разные условия победы и поражения, например: добраться до финиша раньше, чем определённый процент игроков, оставаться на уровне определённый промежуток времени, забить наибольшее количество мячей другой команде и т. д. Игра продолжается до тех пор, пока в финальном раунде не останется один участник.
Сам код
Фулл код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
 
public class Program
{
    public static void Main()
    {
        DataBase database = new DataBase();
    
        while (true)
        {
            database.ShowInfo();
            Console.WriteLine();
            database.Menu();
            Console.ReadKey();
            Console.Clear();
        }
    }
 
    class Player
    {
        private int _number;
        private string _nickname;
        private int _level;
        private bool _isBanned;
 
    
        public Player(int number, string nickname, int level)
        {
            _number = number;
            _nickname = nickname;
            _level = level;
        }
      
        public void BanPlayer(bool isBanned)
        {
             _isBanned = isBanned;
        }
      
        public void ShowPlayer()
        {
            Console.WriteLine($"{_number}. Никнейм - {_nickname} , Уровень - {_level}, Забанен - {_isBanned}");
        }
    }
 
    class DataBase
    {
        private List<Player> database = new List<Player>();
 
        public DataBase() { }
 
        private void AddPlayer(Player player)
        {
            database.Add(player);
        }
        public void ShowInfo()
        {
            foreach (Player player in database)
            {
                player.ShowPlayer();
            }
        }
 
        public void Menu()
        {
            Console.WriteLine("Выберите что хотите сделать: \n 1 - Добавить игрока \n 2 - Забанить/Разбанить \n 3 - Удалить игрока");
            int userInput = Convert.ToInt32(Console.ReadLine());
            switch (userInput)
            {
                case 1:
                    Console.WriteLine("Введите номер игрока: ");
                    int userInputNumber = Convert.ToInt32(Console.ReadLine());
            
                    Console.WriteLine("Введите никнейм игрока: ");
                    string userInputNickname = Console.ReadLine();
                
                    Console.WriteLine("Введите уровень игрока: ");
                    int userInputLevel = Convert.ToInt32(Console.ReadLine());
                    Player player = new Player(userInputNumber,userInputNickname,userInputLevel);
                    Console.WriteLine("Игрок забанен или нет:");
                    string userInputBan =Console.ReadLine();
                    userInputBan.ToLower();
                    while (true)
                    {
                        if (userInputBan == "Да")
                        {
                            player.BanPlayer(true);
                            break;
                        }
                        else if (userInputBan == "Нет")
                        {
                            player.BanPlayer(false);
                            break;
                        }
                        else
                        {
                            Console.WriteLine("Такая команда отсутствует!");
                        }
                    }
                     database.Add(player);
                    break;
                case 2:
                    Console.WriteLine("Введите номер игрока: ");
                    int userInputSearch = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Что сделать?");
                    string userChoise = Console.ReadLine();
                    userChoise.ToLower();
                    bool ban = true;
                    if (userChoise == "Забанить")
                        ban = true;
                    else if (userChoise == "Разбанить")
                        ban = false;
                    else
                    {
                        Console.WriteLine("Ошибка!");
                    }
                    var a = database.Find(x => x.== userInputSearch);
                    a.BanPlayer(ban);
                    break;
                case 3:
                    Console.WriteLine("Игрока под каким именем вы хотите удалить?");
                    string userInputName = Console.ReadLine();
 
                    database.Remove(database.Find(x => x. == userInputName));
                    break;
                default:
                    Console.WriteLine("Такая команда отсутствует!");
                    break;
 
            }
        }
    }
 }
Привки, скриптик топ, жаль на не луащке, хочу на луащке, но прчему-то не на луащке. Автор молодец, тема крутая, это не кал.
 
  • Нравится
Реакции: xColorized и Savok

Savok

Потрачен
Автор темы
176
294
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
  • Нравится
Реакции: whyega52

Savok

Потрачен
Автор темы
176
294
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
UPD
Поправил код, была ошибка