我爱游戏_掌控板_像素鸟(flappy bird)
一、基本信息
作品名称 我爱游戏_掌控板_像素鸟(flappy bird)
作者姓名 于飞
作者单位 嘉善信息技术工程学校
教材名称 《慧编程》
教材类型 自编教材
教材简介 自编校本教材,作为学生自由选修课使用,丰富学生课程生活,打造“四力融合,课程改革”,符合其中创造力的学习。
执教年级 职业高中
课时长度 2课时
涉及器材 掌控板
涉及软件 mPython
文件清单 教学设计、配套视频、配套代码
二、作品内容
【硬件搭建】所需材料掌控板和数据线,用数据线将掌控板和电脑连接,选择已经连接COM接口,点击连接成功。
【作品功能】
点击“运行”将程序上传到掌控版,初始时,左下角显示“flappy bird”,用于展示游戏名称。屏幕左侧的实心圆,如果按下A键向上运动,否则向下运动。障碍物“垂直线”自右侧向左移动,玩家需要精准的控制实心圆从垂线的缺口处通过,如果实心圆撞到垂线,那么游戏结束。
【教材与学情分析】:本课是《慧编程》的第六节课,这些学生在上一学期已经完成了scratch的基础学习,对于逻辑语句的使用已经没有障碍,关于掌控板这个外设,已经学习了5次,对掌控板的基础使用(坐标、图形绘制、按钮、触控)已经有所了解,并实际操作过,学会使用编程软件的外设,对外设进行“深入了解”,所以改编制作这样一个的掌控板版本的“像素鸟(flappy bird)”,结合生活中大家可能玩过的小游戏,跟实际生活相结合制作项目这样更好理解,也更能提高学生的学习兴趣。
本课授课对象是中职一年级编程兴趣班学生,学生人数40人以上。中职类学生相对普高来说数学和英语的基础素质较差,所以选用这样一款图形化编程软件,上学期有过scratch的基础,搭配掌控板可以实体操作,相信这些学生可以通过自己的操作,真正的做出一款小游戏,重拾自信。
【学习目标】:1.深入了解mPython和掌控板。
2.学习显示模块中“擦除”线语句。
3.掌握掌控板的坐标系。
4.“如果那么否则”语句的使用。
5.学会使用音符播放(提示使用者状态改变)。
【学习重难点】
重点:1. 熟练掌握掌控板的坐标系。
2.学会使用多层判断语句的嵌套使用。
3.随机数的使用。
难点:“如果那么否则”语句的使用;显示模块中“擦除”的使用。
【教学资源】:学生机房、电脑一人一机、掌控板六人一块、 学生机与教师机局域互联并安装mPython软件;成品体验。
【情景导入】2013年风靡全球的“像素鸟(flappy bird)”小游戏,通过点击屏幕使小鸟向上飞行,不按屏幕小鸟就会向下坠落,以此来控制小鸟的垂直高度,通过迎面运动过来的障碍缝隙,如此继续游戏,如果碰到上下边缘或是障碍物,那么游戏结束。
【预设流程】
环节一、制作障碍物和缺陷区域
教师活动:运行预制程序,教师演示预置程序。
教师广播桌面视频,开始进行制作,绘制垂直线段,起始点是屏幕的右边(127,0),长度是64(屏幕的高)。擦除垂直线段,绘制两个点断有点麻烦,所以我就绘制一条,擦掉一条(障碍的空隙,用于角色穿越)。这样我们就将整个障碍物分成了上下两个部分,中间被“擦除”的部分就是主角需要穿过的部分。
学生活动:学生使用的掌控板已经提前烧录改该程序,启动掌控板,学生小组内传递体验小程序。
观看教师操作,制作出垂直的障碍和垂直的擦除(空隙),可以先做出垂直的线段,观察并思考被“擦除”的部分起点和大小应该多少才合适。
设计意图:充分了解显示模块的使用,尤其是“绘制”和“擦除”两功能。
让学生学会预判,更加进准的使用软件功能,减少重复上传。
环节二、绘制主角,说明变量
教师活动:视频广播演示制作,绘制实心圆形主角“像素鸟”,使用“绘制实心圆”即可完成,不过要对它的位置进行一下调整(xy轴位置和半径,实际上x轴是固定的,不做也可以)。
这里需要跟学生强调一下脚本中的变量:
绘制实心半径为2的圆形,初始位置(20,20);
新建变量:
score(分数,计分);
x(主角的x坐标)、y(主角的y坐标);
xn(障碍物/障碍物缺陷的起始点x坐标,起始于127,向左移动,递减-1);
y0(障碍物缺陷的起始y坐标);
dy(障碍缺陷长度)。
学生活动:观看教师操作,制作半径为2圆形实心主角“像素鸟”,创建各个变量,将每个变量拖拽至正确的参数位置,并对变量进行初始化设置,尤其是变量xn,这个变量同时影响着障碍物和障碍物缺陷区域两个图形。
环节三、逻辑判断脚本(声音值,主角坐标和“坑”坐标)
教师活动:教师视频演示,一边解说,一边制作脚本,拖拽和嵌套逻辑语句。
声音值大于100,开始行走向右(实际上是“坑”向主角走来,所以是增加-3);
声音值大于200,向上跳跃(y坐标,所以是增加-1);
分析4种情况:
情况1,主角在缺陷中通过→游戏继续,y在y0-2和y0+dy-2之间即可;
情况2,主角触碰到上边缘→游戏停止;
情况3,主角碰到下边缘→游戏停止;
情况4,主角碰到上下障碍→游戏停止。
将脚本截图,发送到学生端。
学生活动:观看教师操作,根据教师分析的4类情况编辑脚本,烧录运行,检查bug,解决问题,解决不了的问题举手示意教师讲解。
设计意图:多层嵌套的逻辑语句虽然逻辑复杂,但是脚本数量减少,减少运行负载,课堂上制作多条件的分析,帮助学生理解平面坐标的判断。尤其是障碍被分隔成了两块,使用“或”逻辑进行连接判断。
环节四、主角运动脚本
教师活动:
A键控制角色小球的y坐标(上下运动),提出几种方案供学生选择:
1.使用“如果那么否则”语句;
2.使用两个“如果”+“非”语句。
学生活动:学生观看教师操作,很多学生已经可以自己发现问题,并且已经修复完毕。举手示意教师,运行校验。
设计意图:逻辑语句的复习和再使用,多次使用强调其功能和逻辑。
环节五、脚本对比
教师活动:教师和学生一起运行脚本,一起查找缺陷,教师巡视,找到脚本有问题的学生,基本都是变量和参数匹配出现问题,纠正讲解,使其顺利运行。
学生活动:运行脚本,查找缺陷,遇到问题先自查再举手示意教师协助。
【拓展探究】
教师活动:就我们今天的“像素鸟”项目来说,有几处不足。
例如:1.障碍物的出现的数量较少;
2.障碍物空隙感觉没有变化;
解决方案:1.添加障碍物数量,间隔距离进项调整。
2.障碍物空隙随机的大小可已进行随机范围的调整,从而实现修改擦除缺口的大小。
3.添加其他元素的障碍物,例如飞过来的砖块,也可以增加游戏趣味性。
【交流总结】
教师活动:请每一组出一个代表,展示并说明自己的作品。
学生活动:学生派出代表讲述自己的设计(尤其是那些跟教师方法不同的学生)
设计意图:小组之间互相对比,各有不同,相互学习。通过每位代表的介绍,可以判断学生的掌握情况,梳理了整节课的知识重点。
【教学反思】
不足:只考虑实现功能,并没有注重游戏乐趣,应该添加更多角色,增加难度和趣味性。
优点:对经典游戏进行剖析,学生通过自己的制作,让学生充分了解游戏的原理和制作方法。
点赞