首页 » 父与子的编程之旅:与小卡特一起学Python » 父与子的编程之旅:与小卡特一起学Python全文在线阅读

《父与子的编程之旅:与小卡特一起学Python》26.3 更复杂的机器人

关灯直达底部

我们的第一个机器人非常简单,它无法战胜 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 中,坐标系统是怎么工作的。