# L1-12《打砖块》PPT 大纲

> 面向学生 · 🔴 克隆首次教学课 · 停止全部 · 挡板+弹球物理 · 砖块碰撞消除

---

## 第一关 · 课前导入

### 第1页 封面
- 大标题（橙色字）：**L1-12 打砖块** 🧱
- 副标题：和小超人一起打碎砖墙！🔴💥
- 画面元素：挡板在底部、弹球在弹跳、5块砖排列成一行、弹球击中砖块的瞬间
- 品牌条：L1-12

### 第2页 温故知新（回顾 L1-11）
- 标签：🔁 温故知新
- 回顾卡（图文）：
  - 👁 **显示与隐藏**：让角色出现或消失（外观模块）
  - 🎯 **碰到角色侦测**：侦测两个角色是否碰到（侦测模块）
  - 📐 **将x/y坐标增加**：精确控制水平/垂直移动（运动模块）
  - 📡 **广播**：发送消息给所有角色（事件模块）
  - 🐤 **保卫小鸡**：综合实战——小鸡+翼龙+扫帚三角色协作
- 引导语："上节课我们把所有本领组合起来，做了一款保卫小鸡的完整游戏。今天要学一个更厉害的新本领——**克隆**！用克隆做出5块砖，让弹球把它们打碎！🧱💥"

### 第3页 故事导入
- **故事**：小超人发现了一堵神奇的砖墙 🧱，挡住去路！他从口袋里掏出一个弹球 🔴，只要控制好挡板把球弹回去——弹球碰到砖块，砖块就会"砰"地碎掉！但弹球要是从挡板旁边漏下去了，就失败了！小超人能不能把所有砖块都打碎呢？
- **互动提问**："你玩过打砖块游戏吗？有什么技巧能不让球掉下去？🤔"
- **画面**：砖墙场景 + 挡板 + 弹球反弹轨迹示意

### 第4页 功能分析
```
┌─────────────────────────────────┐
│  🎬 运行视频（左侧占位框）       │
├─────────────────────────────────┤
│  背景：🧱 砖墙背景               │
│  角色：🔴 弹球（移动+反弹+掉落）  │
│         🟦 挡板（键盘左右移动）   │
│         🧱 砖块×5（排列一行）     │
│  交互规则：                      │
│  ① 挡板在底部左右移动接弹球      │
│  ② 弹球持续移动+碰到边缘反弹     │
│  ③ 弹球碰到挡板→随机反弹到上方   │
│  ④ 弹球碰到砖块→砖块消失+音效    │
│  ⑤ 弹球落到屏幕底部→游戏失败    │
│  ⑥ 一段时间后砖块重新出现        │
└─────────────────────────────────┘
```

---

## 第二关 · 认识关

### 第5页 认识关标题
- 01 / 认识关 · 打砖块的新装备
- 三个新本领：克隆概念 / 停止全部 / 方向随机化

### 第6页 新概念 ①：克隆——分身术！🧬
- 💭 场景：需要5块一模一样的砖块排成一行——难道要复制粘贴5个角色？太麻烦！而且以后如果要50块怎么办？
- 🧩 **「克隆 自己」** 和 **「当作为克隆体启动时」**（控制模块·橙色）
- 🛠 克隆的工作方式：
  1. 先做一个"砖块原型"（本体）
  2. 绿旗时把**本体隐藏**
  3. 用「克隆 自己」造出克隆体
  4. 克隆体自动执行「当作为克隆体启动时」
  5. 克隆体里写"显示 + 放在指定位置"
- 🤔 克隆 vs 复制粘贴：
  | 方式 | 复制粘贴5个角色 | 用克隆 |
  |------|----------------|--------|
  | 工作量 | 复制5次 | 写1次脚本 |
  | 要50块？ | 复制50次😱 | 改个数字就行✌️ |
  | 统一修改 | 每个都要改 | 改1处全生效 |
- 📸 配图：控制模块中克隆积木的位置 + 本体隐藏/克隆体显示的对比图
- 💡 比喻：克隆就像**分身术** 🥷——本体藏起来，分身出来干活！L1-11我们学了显示和隐藏，克隆是它的进阶用法。
- 🔴 **关键区别**：L1-11是"手动隐藏"，克隆是"程序自动复制+本体隐藏"。

### 第7页 新积木 ②：停止全部 🛑
- 💭 场景：弹球掉到屏幕底部了——游戏应该结束！但怎么让所有脚本立刻停下来？
- 🧩 **「停止 全部脚本 ▼」**（控制模块·橙色）
- 🛠 下拉选项（三种停止方式）：
  - **停止 全部脚本**：所有角色的所有脚本都立刻停止（最彻底）
  - **停止 这个脚本**：只停止当前这一个脚本
  - **停止 该角色的其他脚本**：停止当前角色除了这个脚本以外的所有脚本
- 🤔 什么时候用哪个？
  | 场景 | 用哪个 |
  |------|--------|
  | 游戏结束/失败 | 停止 全部脚本 🛑 |
  | 某个功能完成不再需要 | 停止 这个脚本 |
  | 想保留移动但关掉发射 | 停止 该角色的其他脚本 |
- 📸 配图：控制模块中停止积木的下拉选项 + 三种停止范围示意图
- 💡 比喻：停止全部 = 拔掉所有插头 🔌，整个游戏瞬间停住。游戏失败时就用它！

### 第8页 新概念 ③：方向随机化 🎲
- 💭 场景：弹球碰到挡板后应该弹回上方——但不能每次都弹同一个方向，不然太无聊了！
- 🧩 **「在 ___ 和 ___ 之间取随机数」**（运算模块·绿色） + **「面向 ___ 方向」**（运动模块·蓝色）
- 🛠 组合用法：
  - 弹球碰到挡板 → 需要飞回上方
  - 上方 = 方向 0°~180° 之间的范围
  - 但不能直直向上（太简单），要让方向随机
  - 「面向 在 0 到 180 之间取随机数 方向」→ 每次弹向不同方向！
- 🤔 为什么是 0~180？
  - 0° = 正上方 ↑
  - 90° = 右方 →
  - 180° = 正下方 ↓
  - 0~180 = 所有"向上半圈"的方向（上半球）
  - 这样弹球永远弹回上方，但角度随机，游戏更有趣！
- 📸 配图：方向角度图（标注0°到180°的范围） + 随机数+面向组合积木
- 💡 类比：就像打乒乓球🏓——球打到拍面上弹去哪，每次都有一点点不一样！

---

## 第三关 · 编程关

### 第9页 编程关标题
- 02 / 编程关 · 五步完成打砖块！
- 路线图：挡板 → 弹球 → 失败检测 → 砖块克隆 → 碰撞消失

### 第10页 Step 1：挡板控制 🟦
- STEP 01 · 挡板初始化 + 左右键移动
- 💭 问题：挡板怎么在底部左右移动接住弹球？
- 🧩 积木拼图：
  ```
  当绿旗被点击
  移到 x:0 y:-150              ← 屏幕底部中央
  重复执行
    如果 按下 左键 ▼？那么
      将x坐标增加 -10          ← 向左移动
    如果 按下 右键 ▼？那么
      将x坐标增加 10           ← 向右移动
  ```
- 🎯 要点：
  - 用「将x坐标增加」而不用「移动步数」——挡板是横着的，用步数会斜走！
  - 「重复执行」是必须的！忘加的话只能动一下就不动了
  - 移速 10 比较灵活，可以根据难度调整
- 📸 配图：挡板在底部中央 + 左右移动方向箭头 + 完整积木截图

### 第11页 Step 2：弹球初始化 + 持续移动 🔴
- STEP 02 · 弹球起点 + 随机方向飞出 + 边缘反弹
- 💭 问题：弹球怎么从挡板位置出发并持续弹跳？
- 🧩 积木拼图：
  ```
  当绿旗被点击
  移到 x:0 y:-130              ← 挡板上方一点点
  面向 在 -45 到 -135 之间取随机数 方向  ← 随机左下方或右下方
  重复执行
    移动 8 步
    如果 碰到边缘？那么
      碰到边缘就反弹
  ```
- 🎯 要点：
  - 方向 -45~-135 = 下半球范围（弹球先往下跑）
  - -45° = 右下 ↘，-90° = 正下 ↓，-135° = 左下 ↙
  - 「碰到边缘就反弹」让弹球碰到左右上三边都会反弹
  - 速度 8 步适中，太快不好接、太慢没挑战
- 📸 配图：弹球从挡板位置出发 + 方向角度图 + 反弹轨迹示意

### 第12页 Step 2续：弹球碰到挡板反弹 🏓
- STEP 02续 · 弹球碰到挡板→随机弹回上方
- 🧩 在弹球的重复执行中加入：
  ```
  重复执行
    移动 8 步
    如果 碰到边缘？那么
      碰到边缘就反弹
    如果 碰到 挡板 ▼？那么
      面向 在 -45 到 45 之间取随机数 方向  ← 弹回上方！
  ```
- 🎯 要点：
  - -45~45 = 上半圈正上方范围
  - 45° = 右上 ↗，0° = 正上 ↑，-45° = 左上 ↖
  - 这样弹球碰到挡板后每次都弹向不同角度！
- 📸 配图：弹球碰到挡板的瞬间 + 反弹方向角度图 + 组合积木

### 第13页 Step 3：弹球失败检测 💀
- STEP 03 · 弹球掉到屏幕底部→游戏失败
- 💭 问题：怎么判断弹球没被挡板接住？
- 🧩 积木拼图（接在弹球的重复执行中）：
  ```
  重复执行
    移动 8 步
    如果 碰到边缘？那么
      碰到边缘就反弹
    如果 碰到 挡板 ▼？那么
      面向 在 -45 到 45 之间取随机数 方向
    如果 y坐标 < -170 那么           ← 掉到底部了！
      停止 全部脚本 ▼               ← 游戏结束！
  ```
- 🎯 要点：
  - y坐标 < -170 = 到了屏幕最底部（舞台范围 y: -180~180）
  - 「停止 全部脚本」让游戏立刻停下
  - 可以用 y坐标 < -160 阈值高一点，更友好
- 📸 配图：弹球掉出底部 + y坐标范围标注图 + 停止全部积木

### 第14页 Step 4：砖块克隆 + 碰撞消失 🧱
- STEP 04 · 用克隆造砖块 + 碰到弹球消失
- 💭 问题：砖块怎么生成？被球打到怎么消失？
- 🧩 砖块角色脚本——本体隐藏 + 克隆：
  ```
  当绿旗被点击
  隐藏                          ← 本体藏起来
  
  当作为克隆体启动时
  显示                          ← 克隆体出现
  重复执行
    如果 碰到 弹球 ▼？那么
      隐藏                      ← 被球打中，消失！
      播放声音 弹 ▼
      等待 3 秒                  ← 3秒后复活
      显示                      ← 砖块重新出现
  ```
- 🎯 要点：
  - 本体隐藏 → 克隆体显示（分身术！）
  - 碰到弹球→隐藏（不是删除，等会儿还能复活）
  - 等待3秒后重新显示（砖块可再生，游戏不中断）
- 📸 配图：砖块本体隐藏+克隆体排列 + 碰到弹球消失的效果 + 积木截图

### 第15页 Step 5：复制5块砖块排成一行 🧱🧱🧱🧱🧱
- STEP 05 · 5个克隆体排列在舞台上
- 💭 问题：怎么让5块砖分别放在不同位置？
- 🧩 完整脚本：
  ```
  当绿旗被点击
  隐藏                              ← 本体藏起来
  移到 x:-200 y:130                 ← 第1块位置
  克隆 自己
  移到 x:-100 y:130                 ← 第2块位置
  克隆 自己
  移到 x:0 y:130                    ← 第3块位置
  克隆 自己
  移到 x:100 y:130                  ← 第4块位置
  克隆 自己
  移到 x:200 y:130                  ← 第5块位置
  克隆 自己
  ```
- 🎯 砖块坐标一览：
  | 砖块编号 | x坐标 | y坐标 |
  |---------|-------|-------|
  | 第1块 | -200 | 130 |
  | 第2块 | -100 | 130 |
  | 第3块 | 0 | 130 |
  | 第4块 | 100 | 130 |
  | 第5块 | 200 | 130 |
- 💡 技巧：x坐标间隔100，均匀排列；y坐标统一130，同一高度。
- 🔴 **注意**：移动本体→克隆→再移动→再克隆。每个克隆体会记住自己创建时的位置！
- 📸 配图：5块砖排列效果图 + 完整克隆脚本 + x坐标标注

### 第16页 整体组装 🧩
- 📋 所有角色脚本总览（一页汇总）
- 🔴 弹球角色完整脚本回顾（移动+反弹+失败检测+碰到挡板反弹）
- 🟦 挡板角色完整脚本回顾（初始位置+左右键移动）
- 🧱 砖块角色完整脚本回顾（克隆5块+碰到弹球隐藏+复活）
- 🎯 强调：弹球和砖块的交互通过「碰到角色」检测实现，不用广播！
- 📸 配图：三个角色同时运行的游戏截图

### 第17页 Bug 急救站 🏥
- 🐛 Bug 1：挡板动不了
  - ❓ 有没有加「重复执行」？（必须加！只写一次只能动一下）
  - ❓ 用的是「将x坐标增加」吗？别用「移动步数」！
  - ❓ 按键检测的下拉选项选对了吗
- 🐛 Bug 2：弹球直直往下走不反弹
  - ❓ 有没有加「碰到边缘就反弹」？
  - ❓ 初始方向设置在 -45~-135 范围了吗？
  - ❓ 「旋转方式设为左右翻转」了吗？（防止球颠倒）
- 🐛 Bug 3：弹球碰到挡板后往下飞（应该往上）
  - ❓ 碰到挡板后的随机方向范围写对了吗？应该是 -45~45（上半圈）
  - ❓ 别写成 -45~-135（那是下半圈！）
- 🐛 Bug 4：砖块不消失
  - ❓ 克隆体的脚本里有没有「碰到弹球？」检测？
  - ❓ 碰到后用的是「隐藏」还是「移到」？应该用隐藏！
- 🐛 Bug 5：克隆体只有1块而不是5块
  - ❓ 有没有在每次移动坐标后都执行「克隆 自己」？
  - ❓ 顺序必须：移动→克隆→移动→克隆→……（不能把克隆写在前面）
- 🐛 Bug 6：弹球穿墙/穿过挡板
  - ❓ 弹球移动速度太快（>10步）可能"跳过"挡板。调慢一些试试

---

## 第四关 · 扩展关

### 第18页 扩展关标题
- 03 / 扩展关 · 升级我的打砖块！

### 第19页 三级挑战 ⭐
- ⭐ **初级**：调整游戏参数——弹球速度、挡板移速、砖块复活时间，找到最好玩平衡
- ⭐⭐ **中级**：增加第二排砖块（y坐标改成100），用坐标表多克隆一排
  - 第1排（上）：y=130，第2排（下）：y=100
  - 10块砖两个颜色交替
- ⭐⭐⭐ **高级**：加「得分变量」——每打碎一块砖 +10分，加「生命值变量」——开始3条命，每掉一次球 -1，生命归零 → 游戏结束
  - 需要用到 L1-9 的变量知识！
- 🎨 **自由创作**：
  - 给砖块设计不同颜色（红色砖要打2次才碎？）
  - 加背景音乐和砖块碎裂音效 🎵
  - 设计关卡：第一关3块砖，第二关5块砖，第三关……

---

## 第五关 · 课堂总结

### 第20页 课堂总结标题
- 04 / 课堂总结 · 今天学到了什么

### 第21页 积木与概念全家福
| 积木/概念 | 位置 | 作用 |
|-----------|------|------|
| 🧬 克隆 自己 | 控制模块（橙色） | 复制角色，产生分身 |
| 🧬 当作为克隆体启动时 | 控制模块（橙色） | 克隆体出现后自动执行 |
| 🛑 停止 全部脚本 | 控制模块（橙色） | 立刻停止所有角色的所有脚本 |
| 🎲 在x和y之间取随机数 | 运算模块（绿色） | 取一个范围内的随机数字 |
| 🎯 碰到角色？ | 侦测模块（浅蓝） | 检测是否碰到指定角色 |
| 📐 将x坐标增加 | 运动模块（蓝色） | 精确水平移动 |
| 👁/🙈 显示/隐藏 | 外观模块（紫色） | 让角色出现或消失 |

### 第22页 随堂测验 ✍
- Q1：克隆和复制粘贴角色有什么区别？（至少说两点）
- Q2：弹球碰到挡板后，方向应该随机在哪个范围？
  A. -135~-45 B. -45~45 C. 45~135
- Q3：弹球掉到屏幕底部，用什么积木停止游戏？
- Q4：砖块被弹球碰到后「隐藏」了，3秒后怎么重新出现？
- Q5：造5块砖的正确顺序是什么？
  A. 克隆5次→换5个位置 B. 先克隆→再移动到指定位置 C. 先移到指定位置→克隆→移到下一个位置→克隆……

---

## 第六关 · 展示关

### 第23页 展示关标题
- 05 / 展示关 · 向爸爸妈妈展示！

### 第24页 展示脚本（填空式）
```
🎤 大家好！今天我完成了一个经典游戏——

我做了「__________」
挡板用「__________」控制左右移动
弹球碰到挡板会「__________」
弹球掉到屏幕底部会用「__________」停止游戏
砖块用「__________」产生了「__________」块
砖块被弹球碰到后会「__________」，3秒后重新出现

我新学到了「__________」积木
它的作用是「__________」

这个游戏还用到了之前学过的：
「__________」「__________」「__________」

谢谢大家！🧱💥
```

### 第25页 下课啦 🎉
- 巨大文字：**下课啦！** 🎊
- 鼓励泡泡：
  - 💬 "克隆是 Scratch 的超能力——用1份脚本造出千军万马！"
  - 💬 "你已经从'控制单个角色'进步到'批量生成角色'啦！"
  - 💬 "下节课我们要拿画笔扩展，画正方形、三角形、五角星！🖌️"
- 品牌条：L1-12 · 打砖块 🧱