gamecreator Wrote:Efrit, т.е. ты предлагаешь реализовать систему грейдов через наследование? а если система грейдов не является деревом?
gamecreator, хотя это действительно один из возможных вариантов, но я предлагаю Пакке не его Иначе бы я в своём предыдущем сообщении хотя бы упомянул слово "наследование"...
Не, я предлагаю намного проще:
- ввести в классе "башня" unsigned-переменную "уровень";
- тело конструктора этого класса сделать таким: { Init(...); }, где Init - это публичная функция инициализации объекта класса;
- в функцию Init среди параметров передавать этот "уровень"; (чтобы можно было создавать башню с заданным уровнем развития)
- когда нужно "улучшить" или "ухудшить" башню - просто вызываем Init с новыми параметрами, и всё.
P.S. Разумеется, Init должна содержать в себе "прорисовку башни" и прочие необходимые операции.