Reeborg网站Hurdle 4关卡Python代码故障求助
Reeborg Hurdle 4 关卡解决方案
你的代码嵌套了多层循环和条件判断,逻辑过于复杂,容易出现判断冲突导致机器人卡壳。Hurdle 4的核心需求是遇到前方障碍就跳过,无障碍则持续前进,不需要纠结右侧墙的复杂判断,简化逻辑就能解决问题。
修正后的代码如下:
def turn_right(): turn_left() turn_left() turn_left() def jump(): # 转向障碍上方 turn_left() # 爬到障碍顶部(适配任意高度) while wall_on_right(): move() # 调整方向准备下跳 turn_right() move() # 转回前进方向 turn_right() # 下跳后走到下一个障碍前 while front_is_clear(): move() turn_left() # 主循环:未到终点就重复 while not at_goal(): if front_is_clear(): move() else: jump()
代码说明
turn_right()函数保留,用来快速实现右转操作。jump()函数封装了完整的跳障碍逻辑,适配Hurdle 4的随机高度障碍:- 左转让机器人朝向障碍上方,开始攀爬
- 沿着障碍顶部前进,直到右侧无墙(到达障碍边缘)
- 两次右转调整方向,完成下跳动作
- 前进至下一个障碍前,左转回到初始前进方向
- 主逻辑极简:只要没到达终点,前方无墙就前进,有墙就触发跳跃。
内容的提问来源于stack exchange,提问作者Mahmoud Salah
相关产品推荐
相关产品推荐

