设为首页收藏labplus社区产品资料库
151
积分值+2
64
掌控币+1
0  关注
79  粉丝
54  帖子
luyi
2020年03月29日

#分享#掌控游戏系列之节奏大师

    这两天回乡下,发现家里小朋友在玩风靡一时的节奏大师游戏,这款游戏简单却非常有趣,堪称游戏经典之一。今天我们也来使用掌控板制作一款“节奏大师”!

    好了,先来看看体验视频吧

[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. 游戏代码及所有资源,请在附件中下载。

想学习更多项目,请关注我吧。


2

点赞

794 次阅读5 条评论1 条回复2 人赞
5条评论