一、stderr log打印
sys.stderr = open("errors.txt", "w", encoding="utf-8")
def eprint(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)

这样代码中使用eprint()方法输出的信息会保存在根目录errors.txt文件中

二、机器人状态控制

机器人的状态由变量self.gooding控制,其中参数与其对应的状态如下:

self.gooding 状态 判断条件 下一个状态
0 机器人处于空闲状态,可以通过self.getTarget()方法,得到要去往的goods目标 1
1 机器人已经找到目标goods,此时self.path存储机器人去往目标的路径,而self.getNextAction()可以通过self.path与此时的位置得到下一步的方向 len(self.path)==0 1.5
1.5 机器人已经得到goods,判断是否get成功 self.goods == 0 0
self.goods == 1 2
2 机器人处于取得goods状态,可以通过self.getBerthTarget()方法,得到要去往的berth目标 3
3 机器人已经找到目标berth,此时self.path存储机器人去往目标的路径,而self.getNextAction()可以通过self.path与此时的位置得到下一步的方向 len(self.path)==0 0