Отслеживание предметов и позиций монстров

Я работал над libtcod / C ++ roguelike, и столкнулся с небольшой проблемой.

Когда игрок проходит между этажами, предметы с предыдущего этажа остаются на новой карте, оказываясь в стенах, и каждый раз, когда я иду между этажами, все больше предметов генерируется, пока карта не будет завалена.

Есть ли способ сохранить конкретный пол (возможно, с начальным числом), чтобы текущий х / у актеров был сохранен для перезагрузки позже?

0

Решение

Создать Map класс, в котором хранятся детали карты (стены, лестницы и т. д.), предметы на полу и любые монстры. Тогда вы можете создать std::map<int, Map> ключом является номер этажа.

Затем, когда вы меняете полы, вы проверяете std::map чтобы увидеть, если Map объект для этого этажа существует, если он действительно загружает его, если не создает новый Map,

1

Другие решения


По вопросам рекламы [email protected]