欢迎来到天天文库
浏览记录
ID:40226968
大小:2.39 MB
页数:26页
时间:2019-07-27
《机器人-第九次课》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、你让机器人学会思考——聪明的前进振华学校计算机-机器人第九次课还记得怎么实现“跨栏”程序吗?defturn_right():repeat(turn_left,3)defkl():move()turn_left()move()turn_right()move()turn_right()move()turn_left()repeat(kl,4)move()turn_off()注意一下def和repeat命令的使用这里每个栏的间隔、高低都是一样的我们定义了一个新命令klPage2不管遇到什么情况,如果机器人
2、能够自己思考,知道不同的路怎么走是不是很棒?!如果每个栏间隔、高低不一样怎么办?Page3如何跨栏?我们上节课学的内容Page4如何跨栏?关键点右边为空前面为空机器人下一步动作①×√②⑤××③④√√前进左转右转我们上节课学的内容Page5如何跨栏?如果右边为空 右转否则如果前面为空前进否则左转我们上节课学的内容Page6游戏时间让我们来模仿机器人跨栏!Page7聪明的前进每走一步前都先判断一下Page8怎么判断?Page9Page10Page11Page12Page1
3、3Page14最后我们再来看一下,每一步是怎么走的Page15Page16为什么要先判断右边?Page17判断命令Ifxxx():……Ifxxx():……elifyyy():……else:……Ifxxx():……else:……如果否则否则如果Page18判断命令Ifxxx():……Ifxxx():……elifyyy():……else:……Ifxxx():……else:……只需要一个判断其他情况先判断先判断再判断其他情况Page19判断条件前面为空front_is_clear()右边为空rig
4、ht_is_clear()左边为空left_is_clear()Page20怎么定义聪明的前进这个新命令?smart_move如果右边为空():右转前进否则如果前面为空():前进否则:左转先判断右边再判断前面其他情况Page21上机操作完成smart_move命令的定义使用smart_move命令实现“跨栏”程序尝试在其他地图中使用smart_move命令Page22defturn_right():repeat(turn_left,3)defsmart_move():ifright_is_clea
5、r():turn_right()move()eliffront_is_clear():move()else:turn_left()repeat(smart_move,25)turn_off()如果右边为空():右转前进否则如果前面为空():前进否则:左转判断命令判断条件完成smart_move命令的定义if右边为空():右转前进elif前面为空():前进else:左转ifright_is_clear():右转前进eliffront_is_clear():前进else:左转Page23再试试下面几个地图
6、hurdles3.wldhurdles4.wldmaze1.wldPage24全课总结为什么要判断?变化,不固定。当栏间距离和栏高相同,而栏的数量也固定时,我们是怎么跨栏的?如果栏间距离和栏高不一样,而栏的数量又不固定,或者不是跨栏,而是迷宫呢?固定的问题,可以通过简单的重复来解决;变化,不固定的问题,需要根据具体情况,通过灵活的判断来分析处理。是你让机器人学会思考Page25下周最后一节课再见!阳光志愿者计算机组26
此文档下载收益归作者所有