四、接金币游戏

第13课 飞机游戏-显示飞机

任务场景:飞机游戏-显示飞机
任务场景:飞机游戏-显示飞机

一、任务目标

在点阵上用像素拼出能认出来的小飞机。体验题自动平移 X;完整代码用 T2/T3 左右移动。

二、我们要学什么

  • 学习要点:用几个亮点拼飞机,constrain 把 X 留在屏内;先擦旧位置再画新位置
  • 本课过关:点阵上出现对称小飞机;完整代码按 T2/T3 能左右移且不画出屏。
  • 示例对齐:体验题对应 「4-1-1 飞机游戏-显示飞机」;完整代码对应 「4-1-2 飞机游戏-移动飞机」。

三、本节要点

本节在点阵上画飞机,不是彩屏。先擦后画,画机体的像素不要写进擦除 for 里面。

1读场景明确真实任务
2对要点点阵像素拼出飞机
3载入运行本课积木/代码

四、解题思路

  • 输入:体验:for 自动改变本机 X;完整代码 T2/T3 左右移。
  • 输出:点阵底部的小飞机(机头一格、两翼各一格)。
  • 生活对照:先看见棋子,再谈怎么走。
  • 验证现象:能认出飞机外形;X 被夹在安全范围,不会缺翼。

本课主要用到:点阵屏;完整代码加板载按键。

  1. 1明确任务「显示飞机」:输出是点阵,不是彩屏。
  2. 2显示我机:先 constrain X,再 for 擦旧点,然后点亮机身和机翼。
  3. 3擦除循环里只灭灯,点亮四格放在 for 外面,否则每擦一格就整架重画。
  4. 4载入后先认形状;完整代码再按键平移。

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

任务:飞机游戏-显示…把计算结果映射到可观察输出…搭出主循环,让程序一直运行…加入延时(约1秒/单位),…载入官方示例后先点运行,对…

五、图形块功能讲解

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

图形块分类作用本课用法
限制范围
数学把数值夹在最小值与最大值之间。本机 X 限制在 1~屏幕X最大值-1,给机翼留宽。

六、知识点讲解

飞机游戏第一步不是射击,而是在点阵上画出能认出来的小飞机。看得见机体,后面才能谈左右移动。

用像素拼外形

飞机不是一张现成图片,而是若干亮点的组合:例如机头一格、两翼左右各一格。以「本机 X 坐标」为中心去点亮周围像素,X 一变,整架飞机一起平移。

constrain 把飞机留在屏内

X 太小会画出屏幕左边、太大则缺翼。math constrain 把坐标夹在最小~最大之间(还要给机翼留出宽度)。先显示、再移动时,这条限制仍然有效。

先擦后画

移动前要把旧位置的点灭掉,再在新位置点亮,否则会拖出一条「残影飞机」。完整示例「移动飞机」就是在本课图形上改 X 并重画。

  • 屏幕坐标系:x 左右、y 上下,原点约定要和示例一致,机头朝向才不会画反。
  • 体验题会自动平移 X 让你看清外形;按 T2/T3 移动是完整代码。不要两步并一步抄混。
  • 过关:点阵上出现对称的小飞机,X 被限制在安全范围;能指出哪几个 pixel 构成机身和机翼。

先在纸上点出飞机亮点再对照程序,然后载入示例看点阵是否同形。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

4-1-1 飞机游戏-显示飞机.mix。载入后运行。

八、课堂练习

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

  1. 判断:本课要在彩屏上画出彩色飞机。

  2. 判断:移动前要先把旧位置像素熄灭,再在新位置点亮,否则会拖残影。

  3. constrain 在本课的作用是?

  4. 点亮机头和两翼的像素应放在?

九、本节小结

记住:点阵上先看见飞机。擦完再画,X 用 constrain 留在屏内。