小编ran*_*dom的帖子

在2D网格上查找最近对象的算法

假设您有一个2D网格,网格上的每个点都有x个对象(x> = 0).我无法考虑干净的算法,因此当用户指定坐标时,算法会找到最近的坐标(包括指定的坐标)与其上的对象.

为简单起见,我们假设如果2个坐标距离相同,则返回第一个坐标(或者如果您的算法不能以这种方式工作,那么最后一个,无关紧要).

编辑:1的坐标必须是1向上,向下,向左或向右.对角线的坐标是2.

作为旁注,什么是算法的优秀,免费的在线参考?

algorithm 2d multidimensional-array coordinate-systems

23
推荐指数
3
解决办法
3万
查看次数

OO设计 - 对象向类间询问间接持有它的问题

我想知道一个对另一个对象提出问题的对象是否是"坏"设计.例如...

要求:字符(对象)在网格上移动.当它试图移动到另一个位置时,它需要知道该位置是否已经被阻挡它的东西占据,或者该网格的那部分是否完全无法访问.(注意角色本身需要知道).

在应用程序中,状态持有tilemanager和charactermanager.tilemanager知道哪些瓷砖是可访问的,哪些不是.角色管理员知道角色的瓦片位置.

字符从状态调用函数是否合理,比如说AuthorizeMovement,它确定是否可以通过其TileManager和CharacterManager进行移动,如果是,则返回true,否则返回false?

这违反了任何重要原则,导致路上的麻烦吗?

显然,这是一般化的,并且被理解为了解问题所必需的.

oop encapsulation

5
推荐指数
1
解决办法
147
查看次数