关注
28
粉丝
27
帖子
大于
04月27日

【教学设计】我爱游戏_掌控板7_Chrome恐龙游戏

我爱游戏_掌控板_Chrome恐龙游戏

一、基本信息

作品名称 我爱游戏_掌控板_Chrome恐龙游戏

作者姓名 于飞

作者单位 嘉善信息技术工程学校

教材名称 《慧编程》

教材类型 自编教材

教材简介 自编校本教材,作为学生自由选修课使用,丰富学生课程生活,打造“四力融合,课程改革”,符合其中创造力的学习。

执教年级 职业高中

课时长度 2课时

涉及器材 掌控板

涉及软件 mPython

文件清单 教学设计、配套视频、配套代码

二、作品内容

【硬件搭建】所需材料掌控板和数据线,用数据线将掌控板和电脑连接,选择已经连接COM接口,点击连接成功。


【作品功能】点击“运行”将程序上传到掌控版。

初始时,变量score为0(不显示,主角每通过一个障碍物变量score+1,当游戏结束后会显示在第二行);

地面是水平直线,所有元素不会低于该地面;

按下A键中空半径为2的圆向上“跳起”,后再自由落下(使用重力加速度方程,模拟跳跃,效果更佳,不再那么线性);

障碍物为两个中空矩形,自右向左运动,当x坐标小于20时变量score+1,会开始新的循环,两个矩形的大小、运动速度相同,只是初始位置不同;

游戏运行,圆形主角需要掌握好时机跳跃过每一个障碍物,继续游戏,如果碰到障碍物游戏结束,显示得分。


【教材与学情分析】:本课是《慧编程》的第七节课,这些学生在上一学期已经完成了scratch的基础学习,对于逻辑语句的使用已经没有障碍,但是没有接触过市场上的编程外设,这次课之前学生们已经学习过6次关于掌控板的课程,对于图形绘制、坐标系、基础数列和逻辑语句(包括嵌套语句)已经有了一些了解。通过对网页游戏的改编,制作了一个可以独立在掌控板上运行的小游戏,不仅让学生熟悉了这款外设,更能提高学生的学习兴趣。

本课授课对象是中职一年级编程兴趣班学生,学生人数40人以上。中职类学生相对普高来说数学和英语的基础素质较差,所以选用这样一款图形化编程软件,上学期有过scratch的基础,搭配掌控板可以实体操作,相信这些学生可以通过自己的操作,真正的做出一款小游戏,重拾自信。

【学习目标】:1.熟练掌握mPython和掌控板的使用。

2.熟练使用mPython中各种图形的绘制。

3.学会编辑物理数学公式并应用在项目中。

4.实现图形模拟物理效果的运动。

【学习重难点】

重点:1.熟练使用“数学”模块中的语句。

2.在坐标系中让绘制图形模拟物理运动。

难点:物理公式应用在项目中,使得运动不再那么线性,更佳贴近仿生游戏。

【教学资源】:学生机房、电脑一人一机、掌控板六人一块、 学生机与教师机局域互联并安装mPython软件;成品体验。

【联系实际】

Chrome浏览器在无网状态下会有一个环节尴尬的小游戏,我不知道这个游戏的名字,暂时称呼它为小恐龙吧!

这次我们是使用掌控板来特意制作这样一款小游戏。使用圆来替代小恐龙,使用矩形来代替前方袭来的仙人掌。

球的y轴使需要转换为整型(因为后面会进行y轴的模拟跳跃重力曲线来坠落,即自由落体方程,涉及到重力加速度等知识点,后面我们讲解)。设计了两个矩形,用于模拟自右向左运动的“仙人掌”障碍物。


【预设流程】

环节一、新建变量(说明变量)

教师活动:播放demo视频,与学生进行互动问答:

“障碍物的y轴坐标会改变么?”

“主角恐龙的那个坐标不会变?”

“重力加速度的公式是什么?”

“实现跳跃功能,我们的初速度是正是负?”

一边新建变量,一边解释说明:

x1障碍物1的初始x坐标;

x2障碍物2的初始x坐标

g重力加速度的g值;

t跳跃计时变量;

ct时间变化的增量,初始为0,当按下A开始跳跃后为1,落地后为0;

v0主角向上跳跃的初速度;

y主角y坐标;

score分数,不显示,运行时累加,结束后显示。


学生活动:观看教师演示,回答问题(教师进行引导学生作答),学生带着问题开始新建可能会用到变量。

设计意图:师生互动,已经学习过6次课的学生应该可以对部分功能的实现有自己的办法,此次互动就可以分辨学生的情况,着重管理互动性差的学生。

环节二、重力加速度公式编辑和调整

教师活动:教师端打开mPython软件,广播屏幕,开始脚本编辑,一边制作,一边讲解,主角空心圆形,当按下A键时,跳跃,初速度V0=-20,这时使用百度查了一下“加速度”的概念。我们日常生活中跳跃也是一种加速度运动(受到g),只是我们的跳跃高度实在太低,不然我们时可以感受到地球给我们带来的加速度g。

下面是y轴的计算,大家可以自信看一下:

Y=58是主角的初始y坐标,v0是按下A时触发的初始速度,向上运动所以为-20;

t是时间,从按下A开始计时,直到小球的y轴位置大于58为止(大于58会重新计时);

g是重力加速度,正常值为9.8,这为了更好的匹配128*64的分辨率效果所以调整为3。


学生活动:观看教师演示脚本编辑,尤其是主角y轴的运动计算方程,注意变量t的使用,只有当按下A时,ct=1,t开始累加,当y回落到58时,ct变为0,t的增量变回到0。这里非常重要,需要花费的事件也会多一些。

设计意图:之前的作品在“跳跃”功能这里总是会过于线性,运动不够自然,通过使用重力加速度来模拟跳跃过程,相对自然许多。最重要的是,让学生体会到了多学科融合的乐趣。

环节三、矩形障碍物的运动和循环

教师活动:教师广播屏幕,边界脚本(mPython界面),一边操作编辑,一边对编辑内容进行讲解,当障碍物x坐标小于等于20时,障碍物会重新移动到x=128的位置,重新开始向左运动,x1和x2都是一样的。

主角和障碍物发生碰撞:

主角圆形的半径为2,坐标点在圆心;障碍物矩形长为15宽为3,坐标点在左上角。

教师在机房的白板上进行示意图绘制,再次讲解。


学生活动:学生观看教师操作演示,接着自己进行脚本编辑,完成后上传烧录,查看运行效果。

环节四、游戏结束和函数调用

教师活动:

教师讲解游戏结束(失败)的判断,游戏结束的判断,做了两个如果语句,实际上是相同的,都是在判断主角有没有和障碍物1或障碍物2发生碰撞,我这里分开写的,如果同学们想要加入更多障碍物元素,可以参考如下脚本,道理是一样的,只要不发生碰撞,游戏就会一直进行下去。

结束后会调用my_func函数,是一个简单的自建函数,当主角和障碍物发生碰撞时,会先调用这个函数,然后中断循环。

为什么会制作my_func函数,而不让分数在运行的时候直接显示在屏幕上?

由于现实分数会让掌控板的刷新速度变慢,所以去下实时显示分数,改为在游戏结束时,显示分数。


学生活动:学生观看教师制作,结束后自行边界,并对比运行时显示分数的方法。两种方法对比后向教师反馈。

环节五、比较脚本

教师活动:将已经边界好的脚本截图发送给学生端。让学生们自行纠错,欢迎自制的新奇特想法跟大家分享。教师机房巡视,及时协助学生修改bug。


学生活动:上传修复好的脚本,如遇问题举手示意教师协助解决,待完成后,运行流畅的同学可以分享自己的作品。

【拓展探究】

教师活动:这次的“仿生”跳跃,区别于之前的跳跃效果,重点在于我们自制了跳跃模拟公式(重力加速度)。游戏中一定还有不足,请举例。

解决方案:

学生,其中障碍物的数量、高度、出现频率与“原著”有些区别,我想改进它。

教师建议,数量的话,原著有的时候回连续出现1~3个的随机障碍,建议使用重复语句,每轮循环出现随机个数的障碍物。

【交流总结】

教师活动:请每一组出一个代表,展示并说明自己的作品。

学生活动:组代表进行展示,一边运行,一边解说游戏。说出跟人观点(那些地方需要改进,通过学习,提出程序的具体改进方法)

设计意图:小组之间互相对比,各有不同,相互学习。通过每隔代表的介绍,可以判断学生的掌握情况,梳理了整节课的知识重点,改进方向的提出,放手让学生去做,增强互动性,让更多学生做出不一样的程序。

【教学反思】

不足:

游戏的障碍物过于简单,应该增加障碍物的数量和障碍物的种类,让游戏更具有挑战性。

优点:

自己制作的小程序可以脱离电脑独立运行;

结合初中物理学科“重力加速度”的等相关知识点模拟主角小恐龙的跳跃和降落过程,尽量做到“仿生”,作品效果更好,同时带着学生将物理、数学、编程进行学科融合,学的有趣记得扎实。

附件:





点赞

164 次阅读