Прежде чем перейти к перечислению вероятных видов перемещений, стоит помыслить о том, в каком виде могут существовать объекты игрового или компьютерного мира. В зависимости от этого можно выделить:
Отдельный объект. Более часто встречающийся метод реализации, когда передвигающийся объект является представителем отдельного класса(Mob), а на уровне они хранятся в массиве этого класса (Mobs[]). Почаще всего употребляют динамические массивы. Таким образом, доступ к определенному мобу обеспечивается обращением к элементу массива (Mobs[15].DoSomething). Это очень комфортно, желая при очень больших значениях массива появляются трудности в просчетах взаимодействий объектов друг с приятелем, и нужно дополнительная оптимизация этого просчета.
Объект может быть состоянием мира. Например, если сделать двумерный массив значений (bool Map[][]), то наличие или неимение в этой клеточке объекта может задаваться состоянием ячейки массива (если в клетке 15,10 есть объект, то Map[15][10] = true). По такому принципу реализована забава Life.
Можно использовать смешанные методы. Когда массив отдельных объектов дублируется двумерным массивом на карте, куда может заноситься не только маркер наличия либо неимения персонажа в клеточке, но и его id либо указатель, чтоб можно было просто к нему обратиться в общем массиве.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.