Day25 ( 游戏设计 ) 翻转吃豆子

翻转吃豆子

教学原文参考:翻转吃豆子

这篇文章会介绍如何使用「旋转感测」、「创建角色」、「得分」、「变数」、「得分」、「角色是否碰到其他角色」等积木,实作一个透过翻转 micro:bit 移动 LED 灯位置,去碰撞其他 LED 灯的吃豆子小游戏。

相关文章参考:旋转感测创建角色变数得分角色是否碰到其他角色

游戏方式

翻转吃豆子是一个经由旋转或翻转 micro:bit,控制 LED 灯位置的小游戏,开始游戏之後,画面上会出现「可以控制」的 LED 灯 ( 角色 ),还有一个「可以吃」的 LED 灯 ( 豆子 ),翻转 micro:bit 可以移动角色,当角色碰到豆子,就可以得分 ( 吃到豆子 )

使用 micro:bit 实作,游戏操作步骤如下:

  • 按下 A 按钮,开始游戏。
  • 画面中出现「角色」和「豆子」,豆子的亮度较暗。
  • 翻转 micro:bit 移动角色去碰撞豆子。
  • 角色碰到豆子後就得分,豆子消失,从另外的地方再产生新的豆子。

micro:bit - 翻转吃豆子

积木程序原理

参考「平衡灯 ( 旋转感测 )」一文的内容,开启平衡灯的范例,从这个范例继续修改

范例:平衡灯 ( 旋转感测 )

micro:bit - 翻转吃豆子

首先建立一个准备吃豆子的角色:

  • 收合画面里两个重复无限次积木,让画面更清爽 ( 用滑鼠在积木上按右键,选择收合积木 )。
  • 当启动时,新增一个变数 run,数值设定 0 ( 作为游戏开始的判断 )。
  • 新增「当按下按钮 A」积木,按下 A 按钮时将 run 设定为 1,并建立一个角色 player,位置 (2,2)

micro:bit - 翻转吃豆子

将另外一个重复无限次的积木内容,改成用游戏积木的方式呈现 ( 设定游戏角色的 x 和 y 座标为 x 和 y 的变数数值 )。

micro:bit - 翻转吃豆子

修改按下按钮和重复无限次的程序,加入「豆子角色」和「吃豆子机制」:

  • 当按下按钮 A 时:
    • 新增一个变数 bean 为豆子角色,x、y 座标分别设定 0~4 的随机数值,亮度设定 50
    • 设定得分从 0 开始
  • 重复无限次积木:
    • 新增逻辑判断,判断角色 player 碰到豆子 bean ( 角色吃到豆子 )。
    • 角色碰到豆子时,删除豆子角色 ( 变数 bean )。
    • 删除豆子角色後,重新建立豆子角色
    • 角色碰到豆子时,让得分增加 1

micro:bit - 翻转吃豆子

最後要加入「倒数计时」机制,替游戏增加更多刺激性,加入倒数计时有两种方法,第一种方式为「使用开始倒数积木」,将积木加入「当按钮 A 被按下」的程序最下方,按下 A 按钮之後,就会开始进行倒数直到时间结束。

比较不建议使用这个做法,因为倒数结束表示「游戏结束」,在 MakeCode 游戏积木的预设逻辑中,游戏结束时所有功能都会停用,直到重新启动 micro:bit 才能再次使用。

micro:bit - 翻转吃豆子

第二种方法是「使用回圈的倒数计时」:

  • 加入「游戏继续」积木 ( 创建角色会影响 LED 显示,所以後方会使用游戏暂停积木来让 LED 正常显示,因此在前面要用「游戏继续」来取消暂停 )。
  • 使用「重复 10 次」回圈搭配「暂停 1000 毫秒」,做出倒数 10 秒的机制。
  • 倒数结束後,将变数 run 设为 0 ( 表示游戏结束,无法移动角色 )。
  • 删除 bean 与 player 两个角色。
  • 使用「游戏暂停」积木,将游戏暂停,避免影响到 LED 显示
  • 使用显示数字积木,显示最後得分。

micro:bit - 翻转吃豆子

完成後,启动 micro:bit,按下 A 按钮,开始进行翻转吃豆子的游戏。

micro:bit - 翻转吃豆子

范例解答

范例解答:翻转吃豆子

实作「翻转吃豆子」的小技巧

  • 为什麽要使用「游戏继续」和「游戏暂停」呢?

    因为 MakeCode 游戏积木里的「游戏结束」功能,会让整块 micro:bit 功能停止运作,必须重新启动才能继续游戏,且创立角色後,角色会影响 LED 所有的显示画面,使用了游戏暂停就能避免这种情况发生。

关於我

大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!


<<:  【面试】视讯面试要点

>>:  [Day25] Flutter - Application Authentication (part9)

产品成长策略 - 安索夫矩阵

一家公司很难单靠一个产品来获利,就像 原来产品也有自己的生命历程 Product Life Cycl...

8. STM32-PWM(上)

我手上的板子是L476RG,在当中一共有11个定时器: 其中分为基本、通用、高阶三种 基本定时器:T...

[Day04] Tableau 轻松学 - Tableau 三大软件

前言 Tableau 是多个软件的通称,我们初学在进行 BI 分析时,最常会用到其中的三种,分别为 ...

[Day 10]怎麽每天都像在赶末班电车R(前端篇)

挑战目标: MockNative Camp前端 周末也是很多事要做,每天大概都晚上9点到12点是铁人...

Windows 安装 PHP IMagick

根据很多网路上的教学,需要两个主要档案 php_imagick.xxx.zip ImageMagic...