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

【教学设计】我爱游戏_掌控板15_神庙逃亡

我爱游戏_掌控板_神庙逃亡

一、基本信息

作品名称 我爱游戏_掌控板_神庙逃亡

作者姓名 于飞

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

教材名称 《慧编程》

教材类型 自编教材

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

执教年级 职业高中

课时长度 2课时

涉及器材 掌控板

涉及软件 mPython

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

二、作品内容

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


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

实心圆为受到操作者控制的主角。屏幕被分化出左中右三个赛道,主角受到体感控制(y轴倾斜角度来控制主角所在的跑道),空心矩形角色为“砖块”,空心圆形角色为“金币”。这两个角色从屏幕上边缘垂直向下运动(随机出现在三个赛道中的一个)。向左右倾斜掌控板控制主角所在赛道(玩家可以参考屏幕下边缘的“平衡球”,平衡球位于哪个赛道,主角就在哪个赛道),“吃”掉金币,获得得分(左上角数字score+1),同时玩家需要及时切换赛道躲避“砖头”角色,如果碰到砖头游戏结束。


【教材与学情分析】:本课是《慧编程》的第十五节课,这些学生在上一学期已经完成了scratch的基础学习,对于逻辑语句的使用已经没有障碍,但是没有接触过市场上的编程外设,这次课之前学生们已经学习过14次关于掌控板的课程,对于图形绘制、坐标系、基础数列和逻辑语句(包括嵌套语句)已经有了一些了解。这次的课主要学习的是多条件语句的嵌套使用,添加“体感控制,增强互动性。

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

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

2.精通掌控板的坐标系。

3.熟练掌握多条件语句嵌套使用;

4.熟练掌握函数的定义和调用;

5.熟练掌握“加速度传感器”的使用(y轴倾斜角)。

【学习重难点】

重点:1.熟练掌握多函数的定义和调用。

2.熟练掌握变量和坐标的使用。

难点:多条件语句的嵌套是用。

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

【联系实际】

这游戏貌似是上大学时候刚有安卓电话时候的游戏,先是愤怒的小鸟,接着貌似就是整个神庙逃亡了,要么向左滑动,要么向右滑动,貌似也有上下滑动躲避障碍,在终点前吃到最多的金币即可。


【预设流程】

环节一、制作赛道和“平衡球”

教师活动:

将提前烧录好程序的掌控板发给每个组,让同学们体验一下“掌控板_神庙逃亡”项目。

我们这个掌控板没有触摸屏,没法实现滑动操作,所以我们使用“y轴的倾斜角度”来完成赛道的改变,脚本的话要看仔细一些。我们控制的主角是在底边的实心圆,金币是自上而下运动金币(+1),障碍物砖头是自上而下运动的矩形,总之,三条通道,多得金币,避开砖头障碍。

绘制出两条线,将屏幕分成3等分。


在底部绘制出一个空心“平衡球”和“水平线”,这样使玩家可以很直观的看出来自己的倾斜角(为了体验方便,我设置在30~-30之间,因为90~-90实在不是很好操作)。


学生活动:观看教师演示,体验“掌控板-神庙逃亡”小游戏,制作赛道分隔线、“平衡球”和“水平线”。

效果图:


环节二、绘制“球”角色,新建变量

教师活动:播放demo视频,绘制主角球。显示分数变量score位于屏幕左上角。

添加我们的主角“一个实心圆”,主角收到倾斜角控制,在自左向右的0/1/2#三个跑道中切换。

变量:

变量gn,角色金币(半径为6的空心圆形),随机赛道位置1~3赛道;

变量gx,角色金币的x坐标;

变量gy,角色金币的y坐标;

变量zn,角色砖块(空心,宽19,高10的空心矩形),随机赛道位置1~3赛道;

变量zx,角色砖块的x坐标;

变量zy,角色砖块的y坐标;

变量score,分数统计;

变量sx,“平衡球”的x坐标,受到“y轴倾斜角”控制;

变量yx,主角的x坐标;

函数funz,用于控制角色砖块的初始位置(y坐标),赛道位置(随机);

函数fung,用于控制角色金币的初始位置(y坐标),赛道位置(随机);


当前运行效果:


学生活动:观看教师演示,教师演示结束后编辑脚本,并思考:金币的循环、金币与主角和下边缘的碰撞、砖块的循环、砖块与主角和下边缘的碰撞。

环节三、绘制金币和障碍物(砖头)

教师活动:教师先给大家再次演示项目,并交给学生体验,解释说明矩形和圆形图形特性(坐标点为矩形左上角,长宽分别向下和右延伸;圆形的坐标点为图形圆心,圆心到边的距离就是半径长度)。广播屏幕编辑脚本。

添加金币脚本:

变量gn(随机数,用于通道选择)gx(金币x坐标)gy(金币y坐标)

改脚本为重新出现金币脚本(gy=0)


运行脚本效果:


为金币添加“碰撞销毁”脚本:

主角与金币发生碰撞,加分并重新开始下落,这里为了减少主程序,新建了函数“fung”。注意,发生碰撞的y轴要考虑半径。


效果图:


添加障碍物脚本:

障碍物,使用边长为19,高为10的长方形来制作。

变量zx(砖头障碍物的x坐标)、zy(砖头障碍物的y坐标)zn(随机数,用于通道选择)

砖头障碍物的终止地点不同于金币,原因是减少期出现的频率。

如果出现发生与主角碰撞,那么终止游戏。


效果图:


学生活动:观看教师演示脚本编辑,待教师广播结束后,自行编辑,上传运行。

测试体感功能,左右倾斜掌控板时,是否可以使得主角切换赛道;

测试主角和金币角色碰撞,调整主角和金币在同一个赛道使其发生碰撞,观察金币是否消失,分数是否累加,金币是否重新从上边缘出现;

测试金币角色和下边缘碰撞,调整主角和金币不在同一个赛道,观察金币是否消失,分数是否累加;

测试主角和砖块角色碰撞,调整主角和金币在同一个赛道使其发生碰撞,观察砖头是否消失,分数是否累加,游戏是否停止;

测试砖块角色和下边缘碰撞,调整主角和金币不在同一个赛道,观察砖块是否消失,分数是否累加,砖块是否重新从上边缘出现;

环节四、比较脚本

教师活动:将已经边界好的脚本截图发送给学生端。让学生们自行纠错,关于位置和得分的判断学生与教师不同的教师需要查看,如果有问题及时纠错指导。教师机房巡视,及时协助学生修改bug。


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

运行效果:


【拓展探究】

教师活动:与学生沟通,讨论出项目中的不足,可以添加那些功能?哪些功能需要完善?

1、项目运行速度缓慢;

2、赛道没有变化,参与度低;

3、游戏没有具体的终点;

解决方案:

1、取消分数显示,改为游戏结束后显示分数,加快游戏刷新速度;

2、加入“赛道变化功能”,具体制作可参考“掌控板_赛车”项目;

3、添加到倒计时功能(比如添加初始为10000的刷新倒计时,游戏刷新10000次结束,显示分数),并使用三颗LED灯的颜色作为提示。

【交流总结】

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

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

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

【教学反思】

不足:

赛道是笔直的,玩家参与度不高;

没有时间显示,可以添加倒计时功能,逼迫玩家积极参与。

优点:

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

实现小游戏的部分功能在掌控板中,让学生对游戏制作有初级了解;

条件语句的嵌套使用,让学生学会使用复杂的逻辑语句。

附件:





点赞

217 次阅读