指尖节奏大师-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4572|回复: 1

指尖节奏大师

[复制链接]
发表于 2021-4-2 22:45 | 显示全部楼层 |阅读模式
1. 概述
这是一款音乐节奏游戏,每隔1-2秒就会有一个音轨出现一个代表音符的苹果,当苹果运动到红线之下的位置时,单击对应音轨的按键,可以消除苹果发出对应音轨的音调,并得到游戏1点游戏积分。


2. 项目耗材清单

硬件及耗材

喵比特*1

软件及服务

Makecode Arcade

制作工具



3. 项目故事
音乐类的节奏游戏一直是游戏中的一个重要分支,它能锻炼人的反应能力。然而,在玩了十几款音乐游戏后,一丝丝厌烦不断从心底冒出。它们都太相似了,甚至让人感觉只不过是换了个皮肤。我想要一款独特的,完全按照我的构想来运行的游戏,于是我决定用我的Arcade,设计一款音乐节奏游戏:指尖节奏大师。

4. 制作步骤
步骤一:功能分析
游戏由背景、角色、规则三大部分组成,其中背景是整个游戏的背景,主要包含音符的轨道及其他的装饰物品;角色包含静止的角色和不断运动的音符;规则方面主要包含得分规则,音符运动规则,音符发音规则三大类,如下图所示。


步骤二:玩法设计
我希望游戏中通过喵比特的上下左右、外加A、B按键,分别对应中音1-6。而且音符只要在运动到某个范围被按下即可算是触发,触发后音符图案消失,并发出对应音调的声音。

步骤三:背景设计
喵比特屏幕像素为160*128,也就是长10个16*16像素的地图图块,宽8个16*16像素的地图图块,在上面绘制轨道,场景,如下图所示。最外层为墙壁,左侧6条交错的沙地与草地则是音符运动的音轨,右侧为简单的提醒和代表得分范围的红线,红线之下到墙壁之间为有效得分范围。


步骤四:角色设计
1)静态角色
静态角色也就是为了避免音符出现太突兀,而设置在各个音轨最上方的人物角色,人物角色头顶写上代表了该音轨音调的数字,使用角色库角色,然后增加数字,放置在轨道上,如下图所示。


2)音符设计
音符需要随机从6条轨道中的一条产生,并向下运动,所以我们只需要将其作为抛射物,但是因为后面要根据音符和按键互动情况计算得分等,所以单独新建一个精灵代表音符。尽量让同一时刻,画面上只有一个音符,只有当一个音符碰撞底部销毁才会产生另一个。

因为音符只有1个,但产生的位置可能是6个静态角色中任意一个,所以我们用存储了六个角色的数组结合随机数积木,实现随机从六个角色所在位置发射音符,如下图所示。



因为我们没有直接用抛射物相关指令从角色处创建音符,所以当前的音符并不会因为碰到边缘而自动消失,所以,我们根据音符的y坐标判断是否碰到底边的墙壁,如果碰到了就自动销毁,程序如下图所示。


步骤五:规则设计
规则的核心是三个判断,第一次判断是位于哪个音轨,第二次判断音符是否在红线位置之下,第三次判断音轨对应的那个按键是否被按下。如果这些条件都满足,就可以加分,并发出对应音调声音、销毁音符。下图所示为其中1个音轨的判断程序:


因为有六个音轨,所以只需要将最外层的判断结构改为多分支结构,内部程序做对应修改即可,如下图所示:


完整程序如下,可以点击查看。

https://makecode.com/_aDWYioCgXdEm

5. 后记
现在是随机出音符,后面可以考虑直接用数组存储某首歌曲的音符,这样就能实现通过掌机按出对应歌曲的效果。

附录
参考资料:
1.喵比特固件更新:https://www.yuque.com/kittenbot/hardwares/meowbit#TVz1y

2.Arcade入门教程:https://www.yuque.com/docs/share/7654864e-295d-4e86-838f-257bd939e83b?#



注:未经作者许可,任何人不得摘编、转载文章。文章首发于https://zone.kittenbot.cn/zone,这里还有海量教程、工具推荐、创意脑洞、免费课程模板,内容持续更新中,快来看看吧!


发表于 2022-5-24 16:25 | 显示全部楼层








您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-20 16:31 , Processed in 0.067185 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表