小玛莉游戏机
这篇文章会介绍如何使用“函数”、“逻辑判断”、“当按钮按下”、“变数”、“点亮”、“计次循环”等积木,实作一个有趣又复古的的小玛莉游戏机。
游戏方式
小玛莉游戏机是一款复古的博弈游戏,用户先在外围选定一个灯号,游戏开始后外围中奖灯号开始移动,如果中奖灯号停下来与自选灯号重叠,则表示中奖,如果没有重叠,则没有中奖。
如果使用 micro:bit 实作,游戏操作步骤如下:
- 按下 B 按钮,在外围设定自选灯号。
- 按下 A 按钮,中奖灯号开始移动 ( 此时按下 B 按钮没有反应 )。
- 中奖灯号与自选灯号重叠,表示中奖。
- 中奖灯号与自选灯号不重叠,表示没中奖。
- 同时按下 AB 按钮,重新开始游戏。
积木程序原理
参考“灯光绕圈圈 ( 函数 )”一文的内容,打开灯光在外围绕圈的范例,从这个范例继续修改。
范例:灯光绕圈圈 ( 函数 )
因为游戏中会有亮度不同的灯号,所以要在亮灯的函数里,新增亮度参数,将鼠标移到函数积木上方,按下右键,点选“编辑函数”。
点选上方“数字”按钮,替函数增加数字的参数,并将名称命名为“亮度”。
添加函数参数后,将原本函数里的“点亮”积木,改成“具有亮度”的点亮积木。
举有亮度的积木在“灯光 ( 更多 )”里,参考:点亮...亮度
修改“当启动时”的积木内容,新增 a、b、play 三个变数:
- 变数 a:中奖灯号,默认 1。
- 变数 b:自选灯号,默认 1。
- 变数 play:判断中奖灯号是否正在移动,默认 0 ( 0 表示没有移动,1 表示正在移动 )。
将原本“重复无限次”的程序,改成“当按钮 B 被按下”:
- 放入“如果 play = 0 那么”的逻辑判断积木。
- 将原本的程序放入 play = 0 的逻辑判断里。
- 点灯的亮度设为 255。
新增“当按钮 A 被按下”时,中奖灯就开始移动的程序:
- 当按钮 A 被按下时,变数 play 设定为 1,让按下 B 按钮失去作用。
- 放入“重复...次”循环,重复 100~116 次。
- 每次重复执行让中奖灯号往前移动。
- 每次重复持续显示自选灯号,但将自选灯号亮度调暗为 50。
- 重复结束后,判断 a 是否等于 b,如果 a、b 相等,表示中奖。
最后新增“当按钮 A+B 按下”的程序,当 AB 按钮按下时,将变数 a、b 和 play 设定为默认值,并清空画面。
完成后,启动 micro:bit,就可以开始玩小玛莉游戏机了。
范例解答
范例解答:小玛莉游戏机
延伸练习
如果已经熟悉了小玛莉游戏机的原理,还可以尝试更多好玩的作法:
- 尝试让中奖灯出发时速度较快,接着越跑越慢 ( 解答 )。
微信扫码关注
抖音扫码关注