魔术8 游戏

在JavaScript积木块中制作一个基于问题的趣味游戏!

  • Get started
  • JavaScript Blocks
  • Random
  • Variables
  • Games
Print lesson
  • 年龄 8+
  • 30 分钟
  • JavaScript Blocks

简介

这个项目教用户如何创造一个魔力8号球游戏。游戏完成后,你可以问micro:bit一个问题,然后它会回答一个随机答案哦!

教学指南

打开

课堂活动

7个步骤

第一步

这个程序再现了“魔力8号球”游戏。它要求用户提出一个问题并随机给出一个答案。

第一步是给设备编程,告诉用户提问。 屏幕上将会显示一个字符串,这是由积木块菜单的基本选项中的“show string”(显示字符串)积木块来实现的。


将积木块“show string”拖拽到工作区域,将它放在“on start”积木块下方。点击文本“hello!”,并将它改成“Ask a question!”


下一步是在屏幕上显示数字“8”来代表魔力8号球的标识。再次重复这些步骤。


第二步

现在程序显示了“ask a question”和“8”,用户需要从micro:bit上获得一个回复。 这是用“Shake”手势作为一种输入来实现的。 在积木块菜单,选择“input”(输入)选项,并选择“on shake”积木块,将其拖拽进工作区域。


在工作区域中,“积木块“on”可以被改变成多个手势,例如:向左倾斜或向右倾斜。在这个项目中,摇晃手势就选择成功了。



首先,micro:bit的显示需要通过“Clear”积木块来进行更新。 这将会清除当前在micro:bit上显示的任何图案,不管它是“Ask a question”还是数字“8”。 你可以在积木块菜单栏里的“More”(更多)选项下的“basic”选项中找到积木块“clear screen”。 将积木块拖拽到工作区,将它放在“on shake”积木块下方。


第三步

现在micro:bit已经被编程,因此它会响应一个摇晃手势。下一步是创建一个变量来存储一个随机数。 在积木块菜单中选择“Variables”(变量)选项,并点击“Make a Variable”(创建一个变量)。


然后一个弹出的对话框将要求你给你的变量命名。在这个例子中,将它命名为“Random”(随机)。


当摇晃micro:bit的时候,我们想要生成随机数,并将它存储在变量“Random”中。为了实现它,将“Set item to”(设置项木至)添加到工作区域中。


将积木块“Set item to”置于积木块“clear screen”下,并点击“item”一词旁边的下拉箭头。 这使我们能够选择这个叫做“Random”的变量。当摇晃micro:bit的时候,这个变量将暂时被设置为“0”。


第四步

现在,当摇晃micro:bit的时候,变量被设置为“0”,我们现在需要给它分配一个随机数。在积木块菜单中,选择“Math”(数学)选项和“pick random 0 to 4”。


拖拽积木块“pick random”(选择随机)到工作区域,并添加到“set random”(设置随机)积木块中。一个在0到2之间的随机数将给我们提供所需的3个选项。


第五步

下一步是用积木块菜单的“Logic”选项下的IF语句来添加一个选择过程。


拖拽“IF”积木块到工作区域,将其连接到积木块“random”下方。 所以,如果摇晃micro:bit就会清理屏幕,生成一个随机数并存储在变量“Random”中。现在,我们需要设置每个不同变量条件带来的结果。


因为在这个选择中有2个以上的条件,所以我们需要另一个选择语句“else if”。 这可以通过点击“if”积木块上的齿轮,拖拽一个“else if”积木块到积木块“if”下方来实现。



接下来,我们需要填写IF语句来允许选择。在积木块菜单的“logic”(逻辑)选项中选择“equals”积木块。


一旦选定,将“equals”(等于)积木块拖拽到“IF”语句积木块上。

第六步

为了确保micro:bit的IF语句基于随机数,存储在变量“Roll”(滚动)的数值需要被检查。 变量“Roll”(滚动)可以在积木块菜单的(variable)变量选项中找到。


变量“Random”积木块放置在“equals”积木块下方来测试IF语句的逻辑。 如果变量“Random”包含了一个“2”,那么第一个选项就选出了,否则会选择第二个或第三个选项。


因此,通过右击“equals”积木块,并将其放置在“if”积木块中的“else if”部分的下方,micro:bit可以决定是否需要复制条件语句中的第二个或第三个选项。

第七步

现在,micro:bit基于生成的随机数有了3个可能的选项。下一步是根据用户提出的一个问题,给出一个答案。 这是通过将积木块菜单中的基本选项下的“show string”积木块拖拽到工作区域来实现的。


“if”积木块中的每个“then”部分都要有一个“show string”积木块。 从菜单中拖拽出3或者在工作区域右击积木块一次来复制它。 字符串应该修改成“yes”(是的)、“no”(不是)和“I don't know”(我不知道)。


一旦答案生成了,程序的最后一个部分是给micro:bit编程,让它再次显示数字“8”。 需要另一个“show string”积木块,并将其置于“if”语句之后。


保存项目并将其下载到micro:bit.

挑战

试着添加下列功能:

  • 添加其他答案
  • 在摇晃手势后添加一个思考的动画

了解更多

“闪烁的心”的活动用“radio”积木块在第二块micro:bit的LED屏幕上显示了一个图像。