Как называть(переменные) мини-игр которые находятся в общей программе(сборник игр)?
Я работаю над приложением(игра Unity , поэтому я использую C# ) .
Внутри приложения находятся другие "маленькие игры". Интересно, как разделить игры в рамках общего приложения.
Логика общая(использую interfac-ы и для каждой игры реализовываю его), но с именем переменной, где нужно указать конкретную игру, я не знаю, как лучше назвать.
Пример: вам нужно выбрать, какую игру запустить(скажем GameController должен знать какие игры у него есть, но как отделять игры между собой и находить ту и как обращаться к ней (название переменной/в массиве), которую нужно вызвать).
Я рассматривал вариант перечислить игры по индексу (и иметь файл с описанием игры - индекс в README) но посчитал его не очень хорошим вариантом
Подскажите, пожалуйста, как лучше(правильнее) отделить сущности игр внутри приложения.Заранее спасибо
Игра это сборник мини игр. К примеру у каждой игры есть общие классы(реализовываю основные интерфейсы,с которыми может работать классы которые знают,что игра не 1(пример GameController)) допустим:
LevelManager,Level и т.д. разделяю их с помощью namespace,но как мне правильно назвать каждую игру? наподобие FirstGame,SecondGame и т.д.?
Игра просто по индексам их определять?(1- это такая-то игра,конфиг под индексом 1 относится к игре под индексом 1) .
Или названиями игр их разделять?(MyGame - название игры, конфиг в dictionary под ключом названия игры брать нужные мне данные).
Просто писать название игр,ну вроде как звучит костыльно. А если брать индексом это без README файла не читабельно + нужно рассматривать вариант,а вдруг человек решит поменять местами в массиве 1 и 2 значение,и тогда данные не будут совпадать по играм.
Stelette, кажется у вас не хватает абстракции, которая бы представляла в целом обобщенно любую игру из вашего сборника. Советую вам все же использовать названия игр, при необходимости хоть и интерфейсы с дженериками по названию игры, до тех пор, пока вам не станет видна конечная архитектура - так переписывать код позже будет намного проще.
Спасибо,до этого не сталкивался,что в качестве сущностей внутри приложения может быть много других игр(если вложенных игр 2-3 это не проблема,а если их 30+?.Игры короткие(детские)).Вопрос заключался не в том,как сделать сборник игр и как его реализовать.А как правильно построить архитектуру данного приложения(если вдруг кто будет читать данную ветку,чтобы правильно понял вопрос) )
public interface IGame
{
public string Name{get;set;}
public void Run();
}
public class CS: IGame
{
public string Name{get;set;} = "Conter-Strike";
public void Run()
{
Console.WriteLine($"{this.Name} - RUN!")
}
}
public class Dota: IGame
{
public string Name{get;set;} = "Dota-2";
public void Run()
{
Console.WriteLine($"{this.Name} - RUN!")
}
}
public enum GameTypeEnum {
CS=1,
Dota=2
}
public static void Main(GameTypeEnum gameTypeEnum ){
IGame currentGame;
switch(gameTypeEnum ){
case CS:
currentGame = new CS();
break;
case Dota:
currentGame = new Dota();
break;
}
currentGame.Run();
}