本篇是 Micro:bit 躲避砖块小游戏系列教程的第 5 篇,前 4 篇分别是
Micro:bit 模拟传球小程序,
Micro:bit 重力控制
从超级玛丽看游戏制作基本要素
Micro bit 躲避砖块小游戏-基础部分
这篇教程我们将在上一篇教程的基础上,为躲避砖块小游戏添加上一些附加功能,
- 在游戏开始时为游戏添加开场动画,让玩家有个心理准备
- 在游戏进行过程中,加入记分系统
- 随着分数的递增,加快砖块的下落速度
- 当游戏结束时,显示分数
实现原理
开场动画
过场动画非常简单,只需要显示 3 2 1 倒计时,然后显示一个向下的箭头,提示玩家小亮点的出现位置,因为小亮点初始化在屏幕底部中间,所以向下的箭头直接指向最后一行正中间就好。
记分系统
micro:bit 自带了分数模块,位于 游戏分类 下,有 3 个相关模块,分别是
改变砖块下落速度
在 上一节的教程 里,我们设置了一个叫做 sudu 的变量,它代表了砖块下落的时间间隔,间隔越小,砖块下落速度越快
可以看到 sudu 越小 砖块速度越快,我们可以结合当前的分数来对变量 sudu 的值进行调整,分数越高,sudu 的值越小
显示分数
显示分数是 游戏结束 模块的默认行为,如果当前分数不为 0,则会在游戏结束后自动显示分数
程序实现
准备工作
首先我们从这里下载上节课的 hex 文件(请右键另存为),关于 hex 文件的用法请参考 Micro:bit 项目管理与 hex 文件的使用,然后打开 micro:bit 在线编程网站,导入刚才下载的 hex 文件。然后就可以接着上一节的教程继续编程啦。
开场动画
开场动画需要用到 基本 分类下的 显示数字 和 显示 LED 模块
分别拖入 3 个 显示数字 模块,显示 3 2 1 和 1 个 显示 LED 模块 显示向下箭头 到 当开机时 事件里,另外,为了有一定停顿,在 显示 LED 模块后面放一个 暂停 模块,设置为 500 ms,就 ok 啦
[amazon_link asins=’B0746C94ZW,B07B8BX4Q7,B079HKT1BD’ template=’CopyOf-ProductGrid’ store=’boyd-23′ marketplace=’CN’ link_id=”]
记分系统
记分系统我们要做两件事情
- 在游戏开始时把分数设置为 0,这个只要在 当开机时 事件里放入一个 设置分数 模块,并设置为 0 就 ok 啦
- 需要在障碍砖块下落到最底部时,分数加 1,因此,需要在 障碍砖块 y 为 4 时让分数加 1
改变砖块下落速度
这个规则可以自己定,这里我设置的是
- 当分数 大于 3 时,设置 sudu 为 500
- 当分数 大于 6 时,设置 sudu 为 400
- 当分数 大于 9 时,设置 sudu 为 300
至此,一个完整的 躲避砖块 小游戏就完成啦,是不是觉得自己棒棒哒,撒花花。不过教程到这里还没完,在最后一节教程里,我们来学习一下游戏中的玄学调参部分,看看不同的参数,如砖块掉落速度,重力控制响应时间,重力控制加速度阈值的不同大小对游戏手感的影响,欢迎关注啦。
最后,完整的程序 hex 文件 下载地址(请右键另存为)
把这个 hex 文件下载下来,导入到 micro:bit 在线编程网站上,就能看到完整的实现并自己用模拟器玩这个小游戏啦。