这两天回乡下,发现家里小朋友在玩风靡一时的节奏大师游戏,这款游戏简单却非常有趣,堪称游戏经典之一。今天我们也来使用掌控板制作一款“节奏大师”!
好了,先来看看体验视频吧
[media=x,500,375]]
知识点概括:
(1)屏幕的划分
(2)在屏幕上绘制直线和矩形
(3)掌控板音频的使用
(4)游戏主循环设置
1. 屏幕划分
我们都知道掌控板的OLED显示屏的大小为128*64像素。因此,我们将整个屏幕竖直方向四等分,每一等分的宽度为128/4=32像素,高均为64像素。即,3条分割线的X坐标分别是32,64,96。
下面我们建立函数fengexian来绘制这三条分割线。
四块区域开始坐标为0,32,64,96.
2. 在四块区域上方随机创建方块。
根据上面介绍的四块区域开始坐标,确定方块出现的x坐标是1,33,65,97。而方块的位置是随机出现的。因此,新建变量Xrand取随机整数0-3。方块X轴的坐标posX等于32乘以Xrand,再加1。
这样子,方块出现的随机坐标已经确定了。方块的宽度为30像素,高为20像素。
为了使方块从OLED显示屏最上方出现,则方块初始y坐标是-20。因此,使用变量i从范围-20到64,移动方块。for循环i的步长,每隔多少,可以设定方块移动的速度快慢。
3. 游戏胜利或失败的判定
这次游戏结束的条件非常好判定,如果触摸当前按键代表的方块正确,则加1分,如果触摸错误则直接游戏失败。或者,玩家没有触摸,方块的y坐标到了最下方,也就是i=64,同样游戏失败。
4. 捆绑触摸金手指事件。
方块随机出现后,和掌控板触摸按键中的Y/T/H/O相对应。根据当前Xrand确定当前随机出现的方块, 如果等于0表示触摸正确,则将触摸值chumo设置为1,否则设置为2.
5.游戏主循环设置
为了设计按键A被按下是重新开始游戏,固将游戏主循环这一块放到函数mainloop中。
定义变量fenshu,用于存储玩家当前得分,并设置初始值为0.
使用create函数,绘制3条等分线,将OLED显示屏四等分,并产生方块。
判断触摸值chumo,如果是2,表示游戏失败了,终止游戏主循环。判断分数fenshu,如果fenshu大于等于6,则表示游戏胜利啦。
6. 游戏胜利或失败设计
一旦触摸游戏胜利或失败,立即停止播放背景音乐。被显示自定义图片,提示胜利或失败。游戏失败图片fail.pbm和游戏胜利图片success.pbm已经添加在附件中,需要可以自行下载。
7. 游戏代码及所有资源,请在附件中下载。
点赞