还是遇到很多问题,但今天总算是成功生成了。
修改大房间世界位置计算方式,之前总想着要怎么实现完美的依靠房间格子坐标生成对应的世界位置,但因为大房间的性质本身就打破了这种规则,也是搞了挺久才确定了这点,所以现在是用的大房间组成的房间的世界位置的中心,因为普通房间还是遵守这套规则的,所以不会出问题。
目前还有些已知的问题,一个是boss房会被大房间吞掉,因为房间生成的规律的原因正常的道路不太会出现刚好组成四个方形的情况,所以我设置的是组成L型就可以生成大房间,少的那个会无中生有,这导致一些特殊房间的位置被这个无中生有的房间占用而没有生成,但是我已经在大房间位置的排除中添加了特殊房间和boss房的检查,其他特殊房间没什么问题,但是boss房出现了被吞的情况,就很诡异。
另外一个是次隐藏房,因为其生成性质是独立的,所以次隐藏房还没有合适刚实现成功的大房间的排除位置,导致会出现次隐藏房和大房间叠在一起的情况。