c语言接水果游戏喜庆丰收,【教学设计】我爱游戏_掌控板12_接水果

我爱游戏_掌控板_接水果

一、基本信息

作品名称我爱游戏_掌控板_接水果

作者姓名于飞

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

教材名称《慧编程》

教材类型自编教材

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

执教年级职业高中

课时长度2课时

涉及器材掌控板

涉及软件mPython

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

二、作品内容

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

00cdd4d55d89afc5b661e69c63b08976.png

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

玩家手持掌控板,通过左右倾斜掌控板控制屏幕下边缘的空心矩形果篮左右移动;自屏幕上边缘向下“坠落”实心圆形水果和实心矩形砖块,如果果篮接到水果分数变量+1(显示位于屏幕左上角),如果果篮接到砖块游戏结束。

c6b7a389cc39f98baa9e0008a1e51bad.png

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

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

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

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

3.熟练掌握列表功能的使用。

4.熟练掌握传感器的使用。

【学习重难点】

重点:1.掌握列表元素的遍历。

2.熟练掌握传感器的使用。

难点:读取列表中元素,使用遍历方法判断元素是否繁盛“碰撞”。

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

【联系实际】

经典游戏接水果,玩家控制一只小刺猬,在果树下等待掉落的各种各种水果。玩家通过按下键盘上的左右方向键控制刺猬角色的左右移动,在规定时间内获得更多的水果(分数),随着关卡的增加水果的下落速度也越来来越快。数量也随之增加。

31e780cf12c43ad6c2e59d4b5769eda2.png

【预设流程】

环节一、案例对比,强调区别

教师活动:

演示scratch制作的接水果小游戏,让学生说可能用到了哪些模块,复述主要操作步骤。

演示掌控版制作的接水果小游戏,提问学生“如果是你来制作这款掌控板运行的接水果,你会如何制作,使用到那些功能?”

教师解说:今天的接水果,不同于往日的接水果,首先是承载方式不同,这次我们使用的是掌控板来运行这个游戏。然后是操作方式不同,我们这次使用左右倾斜来实现“果篮”的移动。接着是出现方式不同,以往我们使用的是克隆体组件,使用相对简单,这次我们运用的是坐标判断。最后是逻辑判断方式不同,以往我们在scratch中使用“如果碰到什么,那么如何让如何”,这次我们使用列表来存储大量的“果实”坐标,使用坐标范围来判断是否碰到“果篮”或是底部边缘。

提炼出知识点:绘制图形,体感控制(y轴倾斜角度),变量,列表,坐标。

学生活动:观看教师对比演示,回答教师提出的问题,传递体验“掌控板_接水果”,说出自己的制作思路。

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

教师活动:播放demo视频,绘制果实(这里我打算使用10个半径为2的实心圆来代替):

新建列表my_listx和列表my_listy来存储果实的xy值,如果使用变量我需要新建很多,判断的时候也要写很多,将是一个很大的工程。所以我使用列表和遍历列表(之前没有认真听列表功能的同学要仔细看哈),这样不仅减少变量建设,使用遍历还能更好更快的解决逻辑判断问题(点与点的关系)。列表内容的添加使用随机数,为了更好的营造出“果实随机落的感觉”,而不是整齐划一的落下。重复10次,即制作了10个坐标(x,y),如果要想更多果实,直接更改参数即可。

变量i,列表my_listx和my_listy中的项数;

列表my_listx,用于存储各个水果的x坐标;

列表my_listy,用于存储各个水果的y坐标;

变量score,果篮接到一个水果score+1;

变量x,果篮角色的x坐标;

变量zx,砖块的x坐标;

变量zy,砖块的y坐标。

f840e6b33520493bb697e32f80fec86e.png

学生活动:观看教师演示,教师演示结束后编辑脚本,并思考“如何判断果篮和水果碰撞”。

环节三、绘制主角果篮

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

绘制主角“果篮”,和使用“y轴倾斜角”来控制果篮的横向移动,不需要y轴上的坐标移动。绘制一个20*10的矩形作为果篮,初始位置你随意,一般都会设置在x轴中央位置,重要的是y轴(垂直高度),这个位置是大家要注意的,不要超出边界为宜。

果篮的移动,使用“映射”来制作,即y倾斜角度30~-30(我们所使用y轴的范围,可以自己调整)映射0~127(掌控板的x轴宽度坐标范围)。

6d66fcba670bbd21bcc02927adc64e3f.png

学生活动:观看教师演示脚本编辑,待教师广播结束后,自行编辑,上传运行,主要测试“体感功能”的使用。

环节四、绘制砖块角色和分数逻辑

教师活动:教师广播屏幕,编辑脚本(mPython界面),一边操作编辑,一边对编辑内容进行讲解,分数score在第一行;

障碍物,绘制实行的矩形(zx,zy)

8c6df629c044c6a9b9af42a505a36ca1.png

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

be377219ee3afda69f27a2ae3726f82f.png

环节五、角色之间的碰撞逻辑

教师活动:教师广播屏幕,编辑脚本(mPython界面),一边操作编辑,一边对编辑内容进行讲解,如何“判断果实是否“落地”或“进框””

落地,y>65;进框,果实接触到果篮(千万记得考虑半径问题)。其中都牵扯到列表和遍历。

两者结果都是一样,触发了都要y=0,随机x,区别的是“进框”会加分。

28d9295e13434c07e5a744ef68945ede.png

角色砖块脚本:

判断是否碰到框,碰到了就中断;

判断时候到下边缘(y>65),大于了就y=0,x随机。

bc3b816e4d4c7569c22a2d65a9bee9ff.png

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

运行效果:

7a62539e9817eb99521fd4d05843fd8f.png

环节六、比较脚本

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

d9c7f4c4864d5547dc7f20c46fed948a.png

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

【拓展探究】

教师活动:水果的数量没有变化,游戏过程比较平静。

解决方案:添加分数与水果数量的关联计算,做到分数越高水果数量越多(少)。

【交流总结】

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

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

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

【教学反思】

不足:

水果下降速度和数量没有变化,游戏过程比较平静。

优点:

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

使用列表存储坐标,节省工作量;

循环遍历列表元素,锻炼学生逻辑思维。

附件:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值