我正在尝试实现一个人工智能来解决一个简单的任务:从 A 移动到 B,同时避开障碍物。
到目前为止,我使用pymunk
并pygame
构建了环境,并且效果很好。但现在我面临下一步:为了获得强化学习算法的奖励,我需要检测玩家与墙壁之间的碰撞。或者只是在撞到墙壁/障碍物时重新启动环境。
设置c_handler.begin
函数等于Game.restart
函数帮助我打印出玩家实际击中了什么东西。
但除了print()
我无法访问与玩家位置有关的任何其他功能,我真的不知道下一步该做什么。
那么如何使用 pymunk 碰撞重启环境呢?还是有其他方法可以重置甚至其他库来构建适当的环境?
def restart(self, arbiter, data):
car.body.position = 50, 50
return True
def main(self):
[...]
c_handler = space.add_collision_handler(1,2)
c_handler.begin = Game.restart
[...]