设为首页

游戏设计(下)

2019年10月14日
下载程序: 游戏设计(下)

游戏设计(下) ——极速攀登

极速攀登游戏:按下掌控板的A按键,OLED 屏幕显示倒计时3秒。显示“开始” 字样后,游戏开始。游戏双方分别按下各自手柄上的按键,按键每按一次,灯就会从 下往上亮一个。红色按键对应亮红色灯;蓝色按键对应亮蓝色灯。看谁按得更快,谁 先把最后一个灯点亮,中间的光环板就会显示与胜利者的亮灯颜色一致的亮灯,并且 露出大拇指。

材料清单

  • 硬件 掌控板x1、拓展板x1、光环板x1、按键x2、舵机x1、灯带x2、USB数据线x1
  • 软件 mPython 3

硬件连接


动手编程序

极速攀登的完成需要 6 个步骤:

1. 程序初始化;

2. 显示游戏双方的名称;

3. 按下 A 按键,游戏倒计时;

4. 按键控制游戏进行。

一、程序初始化

首先程序需要初始化。为了控制游戏的开始与否,设置变量New,当变量为真, 此时按下按键,游戏才能运行;游戏初始化时,变量为假,按键无效。

在游戏中,会用到1个RGB光环板和2个RGB灯带,均有24个灯,用变量 my_rgb来指代RGB光环板;用变量my_rgb1来指代甲方对应RGB灯带;用变量 my_rgb2来指代乙方对应RGB灯带。在游戏未开始运行时,RGB灯带都是关闭的, 用变量a、b分别表示游戏双方灯带点亮的位置。设置舵机初始位置为居中,OLED 屏显示提示语。


☺小贴士

RGB 灯带的第 1 颗灯,在程序中对应的位置为 0 号位,所以初始化的 a、 b 值为 -1。

二、设置屏幕状态显示

为了直观地显示出两方点亮RGB灯的数量,绘制两个垂直柱状条来表示进度。 在柱状条旁边标注游戏双方的名称,根据RGB灯颜色(此处选用红、蓝)将两方名 称分别命名蓝队、红队。


☺小贴士

名称如果竖直排列,x 坐标应保持一致。


三、按下A按键,设置游戏倒计时

游戏显示进入提示后,按下A按键,OLED 屏幕显示3秒倒计时,倒计时数字的 显示位置可以放在两个柱状条中间。倒计时3秒结束后,OLED 屏幕显示“开始”字样, 将变量New设定为真,此时游戏正式启动。


四、按键控制游戏进行

游戏开始后,红队和蓝队各自按下乙方的按键。按键按下时为低电平,松开时为 高电平。在按下到松开的时间内,由低电平变为高电平,硬件感应到变化,运行相应的程序。 以蓝队为例(此处蓝队为引脚P1,红队为引脚P2)游戏开始后,每按下一次蓝 色按键传感器,会在对应的柱状条内增加1格进度,将变量b从0-23映射到柱状图 的高度0-100。由于灯带的灯由下至上点亮,所以在蓝队每按下按键传感器后,灯带 由最后的灯开始点亮。

游戏双方的RGB灯带各有24个灯,当a=23时,蓝队的最上方的一个灯点亮, 说明蓝队率先点亮己方全部RGB灯。此时,将变量my_rgb代表的光环板全部点亮, 显示颜色为蓝色。此后,让舵机旋转至己方一侧,并停留5秒。

完成本轮游戏后,停止RGB灯带和光环板的点亮。将变量New设置为假,双方 柱状图进度清空,舵机设为90度垂直初始状态。

红队同理,只需修改按键对应的引脚、灯带定义的名称、亮灯位置的变量、柱状 图的位置、光环板的颜色、舵机转动的角度即可。

(蓝队 -P1 引脚)



(红队 -P2 引脚)



脑洞大开

想一想利用掌控板,你还能做出什么游戏,或者生活中还有哪些游戏 可以用掌控板来实现的,做出来大家一起玩吧!