一、疯狂打地鼠

第3课 打地鼠-随机延时等待用户正确按键

任务场景:打地鼠-随机延时等待用户正确按键
任务场景:打地鼠-随机延时等待用户正确按键

一、任务目标

理解按对才算打中,能说明按错侧为什么灯不灭。

二、我们要学什么

  • 学习要点:随机的是等待和灯号;按对才灭灯
  • 本课过关:能指出体验按错侧灯会一直亮;完整代码还要 ticks 差小于 1000。
  • 示例对齐:体验题对应 「1-3-1 打地鼠-随机延时等待用户正确按键」;完整代码对应 「1-3-2 打地鼠-随机带时等待用户正确按键」。

三、本节要点

体验没有计时、没有 对勾图案/叉图案。超时判定在 1-3-2。

1读场景明确真实任务
2对要点随机等待,按对才灭
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:3 号脚对应 1 号灯,4 号脚对应 2 号灯。
  • 输出:灯;完整代码另有点阵对勾/叉。
  • 生活对照:地鼠何时冒、从哪冒都不固定。
  • 验证现象:每次亮灯前等待长短不同;按错侧灯不灭。

本课主要用到:随机数、外接按键、灯;完整代码另用运行时间和点阵。

  1. 1随机延时约 1~2 秒。
  2. 2随机点亮一盏灯。
  3. 3等到 3 号脚或 4 号脚。
  4. 4仅当按对侧才灭灯。

流程示意(可对照左侧文字)

随机延时约 1~2 秒随机点亮一盏灯等到 3 号脚或 4 号脚仅当按对侧才灭灯

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
并且/或者
逻辑组合多个条件。等到 3号引脚 或 4号引脚。
系统运行时间
控制读取开机以来的毫秒数,用于计时、测反应。完整代码:亮灯时间 = 「系统运行时间」()。
四则运算
数学加、减、乘、除等运算。完整代码:现在时刻减亮灯时刻。
显示图案
板载显示在点阵上显示内置或自定义图案(心形、对勾等)。完整代码:对了 对勾图案,错了/超时 叉图案。

六、知识点讲解

按对才算打中。随机等待防止抢跑;灯号随机后要对侧按键。或:内层用 3号引脚 or 4号引脚 结束等待。并且:灭灯条件是(3号引脚 且灯号1)或(4号引脚 且灯号2)。1 秒:完整代码还要 ticks 差 < 1000。

对照与过关:能说明按错侧为什么灯不灭。先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

点「载入」打开 MixVM(board=mini_design)。本学期外设课会自动导入对应外接模块到右侧仿真;默认图形化积木,起步程序与积木来自兴趣课程/学期5。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

兴趣课程:1-3-1 打地鼠-随机延时等待用户正确按键.mix。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:体验程序只要按下任意外接键就会灭灯。

  2. 判断:亮灯前的 random.uniform(1,2) 用来防止猜节奏。

  3. 体验在按键之后还做什么计时?

  4. 完整代码按对且未超时会显示?

九、本节小结

本课主题是随机打地鼠:随机的是等待和灯号,按对才灭灯。体验程序按错侧灯会一直亮;完整程序还要在约 1 秒内按对才算成功。