2024华为精英挑战赛(二)
一、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 |
