我是一个新的年轻程序员,我正在学习python。我只是制作一个示例程序来学习如何制作更大的程序。什么是最有效的方法来跟踪碰撞
class Robot():
def __init__(self):
self.xpos = 0
self.ypos = 0
def step(self, axis):
print "step"
if axis in "xX":
self.xpos += 1
elif axis in "yY":
self.ypos += 1
def walk(self, axis, steps=2):
for i in range(steps):
self.step(axis)
def get_pos(self):
print "X:%i Y:%i" % (self.xpos, self.ypos)
robot = Robot()
robot.walk("x", steps=3)
所有这些都是跟踪单个机器人的位置。我如何保持跟踪,如果我有两个机器人,如果他们在同一个位置。
例子:
robot1 = Robot()
robot2 = Robot()
robot1.walk("x",5)
robot2.walk("x",5)
他们会在同一个位置,所以我会怎么检查,看是否有机器人在同一地点?
这通常是通过使用树来划分存在对象的空间来完成的,这样可以更高效地查找冲突。请参阅:[quadtrees(2d)](http://en.wikipedia.org/wiki/Quadtree)和[octrees(3d)](http://en.wikipedia.org/wiki/Octree)。 –
我看到了那些在我的书结束,但我还没有得到那么多。我以为我只需要在__init__上发布数组,并且以这种方式跟踪它 –