我們的第一個機器人非常簡單,它無法戰勝 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 中,坐標系統是怎麼工作的。