我爱游戏_掌控板_滚雪球
一、基本信息
作品名称 我爱游戏_掌控板_滚雪球
作者姓名 于飞
作者单位 嘉善信息技术工程学校
教材名称 《慧编程》
教材类型 自编教材
教材简介 自编校本教材,作为学生自由选修课使用,丰富学生课程生活,打造“四力融合,课程改革”,符合其中创造力的学习。
执教年级 职业高中
课时长度 2课时
涉及器材 掌控板
涉及软件 mPython
文件清单 教学设计、配套视频、配套代码
二、作品内容
【硬件搭建】所需材料掌控板和数据线,用数据线将掌控板和电脑连接,选择已经连接COM接口,点击连接成功。
【作品功能】点击“运行”将程序上传到掌控版。
请将掌控板水平放置,按下A键,屏幕出现10个随机的“雪点”(雪球只有碰到这些点,才会变大,否则半径不变),半径初始为4的雪球“出生”在屏幕左侧边缘,手持掌控板向右倾斜(y轴倾斜角小于-15度,雪球开始滚动,大于-15度则停下,我们之前在“水平仪”),在雪球滚动的时候,可以改变一下掌控板的“俯仰角(x轴)”,此时雪球便会向前向后滚动了,我们的目的就是吃掉更多雪点,让自己变得更强大。
【教材与学情分析】:本课是《慧编程》的第十节课,这些学生在上一学期已经完成了scratch的基础学习,对于逻辑语句的使用已经没有障碍,但是没有接触过市场上的编程外设,这次课之前学生们已经学习过9次关于掌控板的课程,对于图形绘制、坐标系、基础数列和逻辑语句(包括嵌套语句)已经有了一些了解。这次的课主要是对“坐标距离判断”进行一次学习(使用勾股定理判断“点到圆心的距离”),添加“体感控制”增强互动性。
本课授课对象是中职一年级编程兴趣班学生,学生人数40人以上。中职类学生相对普高来说数学和英语的基础素质较差,所以选用这样一款图形化编程软件,上学期有过scratch的基础,搭配掌控板可以实体操作,相信这些学生可以通过自己的操作,真正的做出一款小游戏,重拾自信。
【学习目标】:1.熟练掌握mPython和掌控板的使用。
2.精通掌控板的坐标系。
3.熟练掌握列表功能的使用。
4.学会使用数学模块编辑“勾股定理”。
【学习重难点】
重点:1.通过勾股定理计算半径和距离的关系。
2.熟练掌握列表功能的使用。
难点:读取列表中元素,使用勾股定理判断点与圆的关系。
【教学资源】:学生机房、电脑一人一机、掌控板六人一块、 学生机与教师机局域互联并安装mPython软件;成品体验。
【联系实际】
雪球越滚越大,是因为它粘起了更多得雪,我们这次就做一个“找雪”的雪球,考虑到我们所使用的的掌控板是128*64的,所以我们的雪球半径最大不超过40(我这里为了更好的呈现效果,暂定雪球半径不超过30)。
【预设流程】
环节一、新家列表和变量,随机设置10个雪点
教师活动:播放demo视频,使用描点功能绘制10个随机点,由于绘制的点坐标(x,y)需要参加雪球的半径r计算,涉及的变量有点多,所以我们这次使用“列表”来帮忙存储各个点的坐标(列表my_listx和列表my_listy,分别存储雪点的x轴坐标和y轴坐标),重复10次,随机10个位置。
变量i,列表my_listx中的项数;
变量j,列表my_listy中的项数;
列表my_listx,用于存储各个雪点的x坐标;
列表my_listy,用于存储各个雪点的y坐标;
变量r,雪球角色的半径;
变量x,雪球角色的x坐标;
变量y,雪球角色的y坐标;
变量xn,列表my_listx中的元素;
变量yn,列表my_listy中的元素。
学生活动:观看教师演示,教师演示结束后编辑脚本,并思考“如何判断雪球与雪点发生碰撞”。
环节二、绘制雪球
教师活动:教师先给大家再次演示项目,并交给学生体验,解释说明圆的图形特性。广播屏幕编辑脚本。
绘制圆形半径r,显示在屏幕左上角。
雪球的运动规定:
Y轴倾斜角<-15时,雪球向右滚动(x坐标+1),前后调整x轴俯仰角即可上下运动(y轴±1);
Y轴倾斜角>=-15时,雪球不动;
游戏终点为y>130,期间如果碰到雪点(需要使用到勾股定理雪点到圆心的距离和半径的比较),半径r+2(雪球变大)。
学生活动:观看教师演示脚本编辑,待教师广播结束后,自行编辑,上传运行,主要测试“体感功能”的使用。
环节三、勾股定理判断“雪点”与“雪球”的关系
教师活动:教师广播屏幕,编辑脚本(mPython界面),一边操作编辑,一边对编辑内容进行讲解,使用勾股定理判断雪点到圆心的距离和半径的关系,即可判断雪球是否碰到雪点,新家函数my_func用于判断列表中的每元素与主角的关系。
计算结果小于半径,雪点与雪球发生接触,雪点消失,雪球半径增加;
计算结果等于半径,雪点与雪球发生接触,雪点消失,雪球半径增加;
计算结果大于半径:雪点与雪球未发生接触,不影响雪点,雪球半径无变化;
学生活动:学生观看教师操作演示,接着自己进行脚本编辑,完成后上传烧录,查看运行效果(r值是否发生改变,主角的体感移动是否正常,可以特意移动到雪点,测试接触问题,观察半径变化、r值变化是否有重复累加、雪点是否消失)。
环节四、比较脚本
教师活动:将已经边界好的脚本截图发送给学生端。让学生们自行纠错,关于位置和得分的判断学生与教师不同的教师需要查看,如果有问题及时纠错指导。教师机房巡视,及时协助学生修改bug。
学生活动:上传修复好的脚本,如遇问题举手示意教师协助解决,待完成后,运行流畅的同学可以分享自己的作品。
【拓展探究】
教师活动:倾斜角度和雪球半径应该会影响雪球速度,需要如何修改才能更加真实?
解决方案:同学们可以建立相关的参数添加到雪球的运动脚本中,力求真实。
【交流总结】
教师活动:请每一组出一个代表,展示并说明自己的作品。
学生活动:组代表进行展示,一边运行,一边解说游戏。说出跟人观点(哪些地方需要改进,通过学习,提出程序的具体改进方法)
设计意图:小组之间互相对比,各有不同,相互学习。通过每隔代表的介绍,可以判断学生的掌握情况,梳理了整节课的知识重点,改进方向的提出,放手让学生去做,增强互动性,让更多学生做出不一样的程序。
【教学反思】
不足:
雪球的体感滚动功能做的不够逼真
优点:
自己制作的小程序可以脱离电脑独立运行;
使用勾股定理来判断“点与圆的关系”,数学知识与编程很好的结合,数学与编程的学科融合。
附件:
点赞