教学原文参考:记忆大考验
这篇文章会使用「阵列」积木,建立两组灯号数据,搭配「函式」、「变数」、「点亮」、「[计次回圈」和「逻辑判断」等积木,在 micro:bit 实作一个找出光点出现在哪个位置的记忆大考验游戏。
贪记忆大考验是一款简单的小游戏,游戏开始时,画面中会出现随机的三个光点,两秒後会消失,两秒内使用者需要记住这三个光点的位置,光点消失後,使用者开始找出光点的正确位置,如果有找到 ( 位置正确 ) 则得分,没找到 ( 位置错误 ) 则游戏结束。
如果使用 micro:bit 实作,游戏操作步骤如下:
- 同时按下 AB 按钮,开始游戏,画面中出现三个光点。
- 两秒後光点消失
- 按下 B 按钮,会出现一个光点让使用者移动。
- 按下 A 按钮,会记录使用者移动的光点的「位置」,或取消该位置。
- 位置都纪录完毕後,按下 AB 按钮,如果三个光点位置正确,得分增加 1,并开始下一题。
- 如果位置错误,显示得分,游戏结束 ( 按下 AB 按钮可以重新开始 )。
一开始设计按下 A+B 按钮让游戏开始的程序:
参考「依序点灯 ( 数字函式 )」文章,建立一个「点灯函式」。
接着建立「产生三个光点」的题目程序:
编辑「按下 B 按钮」可以「移动光点」的程序:
编辑「按下 A 按钮」可以「纪录光点位置」的程序:
最後回到「按下 A+B 按钮」,新增 run 等於 2 的判断:
完成後,启动 micro:bit,就能开始进行记忆大考验的游戏。
范例解答:记忆大考验
要做出这个范例,需要先阅读哪些文章?
可以先阅读「依序点灯 ( 数字函式 )」和「按钮依序开关灯」两篇文章。
为什麽要使用「两个」阵列呢?
因为对於游戏的程序来说,让阵列互相比对数值,是相当容易且不容易出错的,所以才会使用题目一个阵列,使用者一个阵列,互相比对。
大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!
<<: Jetpack Compose navigation + Koin
>>: 冒险村09 - Time format config
昨天透过kustomize的方式做了base的yaml和规划了怎麽应用,那麽今天就来利用这些yaml...
动机 去年0前端基础用JavaScript作为主题参加了自我挑战,近期从原本的Java纯後端实习生默...
接下来详细一点的说明 YOLOv4 的内部架构! 目标检测通常由以下几个部分组成: Input: 指...
今天继续 todo app part2, 会纪录实作上遇到的问题。 若有错误,欢迎留言指教,感恩的...
嗨大家好,这系列的文章主要是想纪录我在写 Leetcode / AlgoExpert 的题目时的一些...