Java:对于无限的游戏世界来说,存储坐标图的良好数据结构是什么?
我习惯于用PHP编码,但我并不真正精通Java,这已经是一段时间的问题了。我希望这是一个相当简单的解决方案,但是我无法通过任何搜索方式找到任何好的示例代码,所以这里是:
我正在编写一个游戏,该游戏发生在基于图块的地图上的2d随机生成的无限世界中(挑剔:我知道它不会是真正的无限。我只是期望世界会很大)。map[x][y]多维数组的常用方法最初是一个基本思想,但由于Java没有像PHP那样为非整数(即负)数组键恶作剧提供一种方法,因此我无法正确使用带有数组键的(-x,+x,-y,+y)坐标系。
我需要能够在特定x,y坐标处找到瓷砖上的对象,以及找到某个瓷砖的“相邻瓷砖”。(如果我能得到ObjectAt(x,y),我可以得到(x+1,y)等等,那就太微不足道了)
我读过关于四棵树和R树之类的东西。这个概念令人兴奋,但是我还没有在Java中看到任何好的,简单的示例实现。此外,我真的不确定这是否是我真正需要的。
欢迎任何建议
谢谢