Доброго времени суток, очередной один из 20 таких же вопросов за сегодня. :-) В очередной раз подхожу к вопросу создания игры и сталкиваюсь с тем же вопросом: "Как правильно и удобно построить структуру классов и методов"
1. Сколько и какие должны быть базовые классы?
- Character
- Item
- Location
- ?
2. Методы взаимодействия между объектами одинаковых и разных классов должны быть реализованы в этих же классах или должен быть отдельный action class?
Character1.Attack(Character2);
или
Action.Fight(Character1,Character2,"Attack");
может
Item1.AplyProperties(Character1);
или
Character.Aply(Item1);
или
Action.AplyProperties(Character1,Item1);
3. Какие из свойств объектов, например Character1 должны быть рассчитаны заранее (модификаторы, только базовые хар-ки, или только должны быть окончательно определены необходимые формулы расчета) перед применением действия. Насколько это безопасно с точки зрения возможности пропустить важный расчет модификатора, насколько целесообразно нагружать процессор расчетом с нуля каждого действия?
Честно говоря пока никак не укладывается в голове структура. Никак не могу выбрать, решить и до конца понять с чем столкнусь.
ЗЫ Как программист я пока себя похвалить не могу, в крупных проектах не участвовал, приходилось писать небольшие утилиты, небольшой модуль вебприложения на разных языках.