Цитата Сообщение от sweeper Посмотреть сообщение
Сабж должен уметь отвечать на два вопроса:
1) какие юниты находятся на данном тайле?
2) на каком тайле находится данный юнит?
Решение здесь обязательно заденет способ учета как юнитов, так и тайлов.
Динамический массив указателей: наверное, будет хорош для юнитов, которые создаются и уничтожаются. Логично учитывать юнитов самим указателем. В тайле имеем список указателей на юниты. В юните имеем указатель на тайл. Всё неплохо, за исключением того, что при удалении юнита его надо не забыть удалить из тайла.
Для тайлов динамический массив излишен, так как тайлы не генерируются и не уничтожаются во время игры. Тайлы можно учитывать как индексом по массиву, так и указателем. Для прямоугольных карт с квадратными тайлами соседние тайлы могут вычисляться путем арифметических операций с индексами. Для шарообразных карт и тайлов произвольной формы нужны указатели на соседние тайлы, причем иногда разное число.
Динамический массив нужно каждый раз удалаять и создавать, это неэффективно. Поэтому лучше воспользоваться списком, а поговаривают в питоне есть еще словарь, на сколько я понял, он здесь будет самое то.