我们的第一个机器人非常简单,它无法战胜 CircleAI。为了战胜其他所有的机器人,我们需要一个真正优秀的策略。一个真正优秀的策略绝不止“转圈圈,直到敌人出现在我眼前”这么简单,而是需要用到每一个可用的命令。最重要的是,真正优秀的策略需要我们花费大量心思来考虑它的工作机制。
还有一些方法我在上一节没有提到,这些方法可以帮助我们制定一个必胜的策略。
self.robot.goBack
——顾名思义,机器人可以后退一步。self.robot.checkSpace(space)
——可以检查任意一个方块 。例如,self.robot.checkSpace((3,3))
可以返回 (3,3) 这个方块处有什么。如果什么也没有,则返回"blank"
,否则,返回"bot"
(如果有敌人)、"me"
(如果有机器人)或者"wall"
(如果这个方块在游戏边界之外)。self.robot.locateEnemy
——返回敌人的位置和方向。self.robot.position
——获取机器人的位置。self.robot.rotation
——获取机器人的方向。self.robot.calculateCoordinates(direction, distance, position)
—— 稍后解释。首先,我们需要理解在 Python Battle 中,坐标系统是怎么工作的。