跟踪物品和​​怪物位置

时间:2014-05-15 04:40:31

标签: c++ actor reloading libtcod

我一直在研究libtcod / C ++ roguelike,我遇到了一个小问题。

当玩家进入楼层之间时,前一楼层的物品会停留在新地图上,最后会出现在墙壁上,每当我走到楼层之间时,会产生更多物品,直到地图被淹没。

有没有办法保存特定的楼层(也许是种子),以便演员可以保留当前的x / y以便以后重新加载?

1 个答案:

答案 0 :(得分:1)

创建一个Map类,用于存储地图详细信息(墙壁,楼梯等),地板上的物品和任何怪物。然后,您可以使用键作为楼层号创建std::map<int, Map>

然后,每当您更改楼层时,请检查std::map以查看该楼层的Map对象是否存在,是否加载,如果不是,则创建新的Map