智能足球攻防战(二).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能足球攻防战 — AI-RCJ使用浅例(2) 四川广安华蓥禄市初中(638602) 卢林飞 课题:我的小小守门员 教学目标: 1.知识目标:理解球和球员的半径的运用,思考守门员的基本守门策略,感受数学中在某条线上的“射影”的概念,运用探测函数和设置函数将我们的守门策略实现,写出一个智能比较高的守门员机器人。 2.技能目标:熟练运用图形化编程环境。能初步对问题算法分析并画出流程图。 3.情感目标:培养学生对程序编写的兴趣。 重点难点: 重点:对机器人快车的图形化编程环境操作加深理解。 难点:算法的流程表示和实现过程。 教学过程: 一、新课引入 前面的学习和下来的练习中,我们编写并完善了一个射手球员。在这一节课里,我们将分析并完成一个守门机器人的程序。 二、新课讲授 ⑴、任务分析 组织学生合作讨论: 问题一:现实足球赛中的守门员是如何完成扑球和防守动作的? (可能出现的答案:防止足球入网、抱住足球、破坏足球的运动轨迹、用身体挡住足球……) 问题二:上面提到的解决方法中,你认为在AI-RCJ中制作一个简单的足球守门员可以借用的策略有哪些? (可能出现的答案:破坏足球的运动轨迹;用身体挡住足球……) (根据出现的答案,作出方案简图,如图1) 图 1 问题总结:AI-RCJ中守门员在球门附近,主要靠自己的身体去撞击朝向球门区域运动的足球。它的运动策略是多种多样的,例如它沿图中a方向运动,它可以提前破坏足球的运动轨迹;如果它沿b方向运动,它体现了在最后的关键时刻“飞身扑救”的解围动作。在这本节课中,我们将分析沿b方向运动策略的守门方式,并编程完成它。 ⑵、变量分析、画出流程图 ①深入分析、完成变量表 在图1中细化分析沿b方向扑球的过程,如图2: 图2 图中画出了扑救球的过程,在这个过程中球的运动和守门员的运动用虚线圆表示。不难看出,大多情况整个过程中守门员和足球都在同一水平线上,如果一直保持这样,他们就会在K点相遇,这样,球就被守门员撞开了。因此,守门员运动的目标点y坐标始终要保持和足球的y坐标一致。守门员的x坐标,在这种运动方向下比较简单,通常守门员都在BK这样竖直的轨迹上运动,因此x坐标一直保持在球门靠前一点不变就行。x,y坐标都确定了,我们就可以使用“向某点移动”函数时时刻刻让机器人往当前计算所得的目标运动,守门员就一直保持扑救球的状态了。 小启示,在这种运动模式下,BK连线方向始终与球场坐标的Y轴方向平行,因此,才会出现在这种守门策略下,球员的坐标始终和球的坐标一致。在数学上,我们把“B叫作A到BK线上的射影”,同样“B’叫作A’到BK线上的射影”。 讨论:(强调上述标记着重号的两处。) Q:为什么要保持在球门靠前一点的距离? A:(因为球员其实是一个半径为30的圆,因此把这个距离设为略大于30,是为了守门员能够在球门附近灵活运动。) Q:从“时时刻刻”这个词的表述中,你能判断这个控制程序我们可能会使用到什么结构? A:(循环结构) Q:如何让自己的守门员能够守在自己的球门外,通过以前的学习,你能想到需要运用什么吗? A:(运用“自己进攻方向”来进行判断) 根据自己的分析,这个程序会运用到哪些变量,把你觉得要使用的变量记录到变量表中,画出流程图。 变量名 变量类型 变量作用 attackHeading int 记录守门员球队进攻的方向 gap double 记录守门员距离球门线的距离 myX double 记录守门员的X坐标 myY double 记录守门员的Y坐标 courtWidth double 记录球员射门位置的X坐标 ②完成流程图。 第一步:根据你所想到的过程画出简易流程图。 第二步:逐步细化、小组合作完成详细流程图。 ⑶、让学生动手操作,在“机器人快车”中完成并编译该守门机器人程序,在AIROBOT中新建一个该程序的比赛。 ①打开图形化编程环境“机器人快车”,新建一个名叫“goalKeeper”的机器人保存在包“MyRobot”中。 图3 新建机器人窗口 ②完成变量定义、在编程区逐步细化程序。 图4 变量定义窗口 按照详细的流程图拖动图标、设置参数,连接流程。(下面三个截图按照简易流程图的对应功能绘制) 图5 获取attackHeading和courtWidth、设置gap(这里使用的35,其他的也可以) 图6根据attackHeading判断,设置myX 图7 不断获取足球的Y坐标给myY并控制守门员向(myX,myY)移动 把以上三个部分整理连接,完成全部程序,截图如下: ③编译程序、在AIROBOT中同上节课所写的shooter 举行一场比赛。 比赛截图如下: ⑷、课堂练习 ①在自己机器上用本课机器人同以前的机器人进行比赛,观察运行情况,总

文档评论(0)

智慧书苑 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档