友情提示:680元/半年,儿童学编程,就上码丁实验室。
课程目标
设计一个弹球游戏,用板子将下落的小球接住并弹起,每次弹起加一分,如果板子没有接住小球,小球下落到舞台底部,游戏结束。此时最终得分显示在左上角。
年级:2-3年级
课时:2课时基础 + 2课时拓展
涉及领域:数学,艺术,编程,游戏学
角色:1.小球ball,2.板子board
背景:场地
程序讲解:
角色:小球ball
变量:得分point
对于小球ball,同学们需要思考并解决:
2、游戏的开始,小球按照什么样的速度和方向运动?
点击绿旗,游戏开始,编程上称之为初始化。初始化时,需要设置小球的起始状态:位置,方向,速度,得分。
小球ball的初始化
2、小球和板子碰撞,会发生怎么样的变化?
小球和板子碰撞的时候,运用侦测模块来检测,并设置小球新的运动参数。
小球ball的碰撞
3、游戏的结束
小球ball接触舞台底部,游戏结束
角色:板子board
对于板子board,同学们需要思考并解决:
1、板子如何移动?
关于板子的移动,有两种简单的方案,一是板子跟随鼠标移动,二是将鼠标的x坐标传给板子的x坐标,同学们思考一下哪种方案更好,可以实际操作看看效果。
板子board的移动
这样一个基本的弹球游戏就做好了,并配有得分系统和游戏结束环节,同学们开始动手编程吧。
拓展课程:
程序讲解:
1、如果难度一直不变,那这个游戏可能会永远玩下去,那未免也太无聊了,好的游戏需要难度是逐级递进的。
增加一个变量:关卡level,初始值设为1,当得分point每增加10分,level即增加1,小球的速度等于level x 5+5,小伙伴们看看现在你能打到第几关?
同理,可以设置level每增加1,小球变小5%,或者板子变小5%,一开始觉得太简单的小朋友,现在看看能打到第几关^_^。
小球ball根据关卡level的值而变化
板子根据level的值而变小
2、除了增加难度,我们还可以改变小球的形态,比如我给小球做个4种形态,足球,篮球,网球和火球,其中足球篮球网球都可能弹球并加分,但是弹到网球只能躲开,否则会响警报并将分数point减去10。
小球的4种形态,火球是不可以弹的
增加一个fireball变量,当fireball等于1,说明小球是火球,这时候要躲开;当fireball等于0,说明不是火球,这时候可以弹球。
火球形态,弹球后会声音报警,积分清零
小球每15秒换一个形态
正常球模式和火球模式
根据小球形态设置fireball的值,修改game over策略,fireball火球模式下接触舞台底部不会结束游戏。
3、除了增加难度,增加小球形态以外,我们还可以增加一个角色叫宝物钥匙key,增加一个变量叫生命life,宝物钥匙随机在背景里游走,当小球撞击钥匙就会将life值加1,当撞击背景底部就会将life减1,最后life减到0游戏结束。
小球ball,板子board,宝物钥匙key,这个游戏可以简称BBK ^_^
三个角色
宝物钥匙key随机运动
撞到钥匙key,life加1
接触底部,life减1,如果life小,1,游戏结束
总结,虽然是一个简单的弹球游戏,但是稍微加入几个变量,加入一些编程的思想,就会让整个游戏更加的有趣。每个家长都希望自己的孩子健康成长,每个家长都希望自己的孩子不在沉溺于手机游戏之中,但是对于教育,我们觉得宜疏不宜堵,与其强制性的要求孩子远离游戏,远离手机,不如让他们在兴趣中学习编程,锻炼逻辑和抽象思维,培养独立思考的能力,学习动脑筋自己编写游戏,建立项目的概念,这也是scratch教育和stem教育的初衷。