Files
AICODE2026/3-lessons/AICODE-03/旧版本/AICODE03-06 产品迭代与增量开发 v1.md
2026-04-09 13:42:10 +02:00

621 lines
34 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
课时: 6
主题: 产品迭代与增量开发
核心能力: [拆解力, 共创力]
核心工具: [穹狼 Code / Trae]
时长: 90分钟
透明化层级: 过程层
适用路线: 共享
---
### 1. 课程目标
**知识目标:**
- 理解"增量开发"的概念:在已有代码上"加功能",而不是推倒重来
- 理解功能优先级分类必须有Must Havevs 最好有Nice to Havevs 以后再加Later
- 认识三大增量方向:计分系统(反馈机制)、倒计时/生命值(紧张感)、动画/音效反馈(体验感)
**能力目标:**
- 能对功能清单进行优先级排序,先做最重要的(拆解力)
- 能在AI对话中引用"现有代码/现有游戏"让AI在已有基础上增量修改共创力
- 能完成至少两轮"提出新功能需求→AI增量实现→验收测试→继续迭代"的完整循环(共创力)
**情感目标:**
- 建立"好产品不是一次做出来的,是一轮一轮迭代出来的"的信念
- 体验"我的游戏在我手里一步步变好"的成就感和掌控感
- 从"做出来就行"升级为"做得更好"的产品意识
---
### 2. 核心概念与误概念预设
**核心概念认知层级:**
| 概念 | 学生类比 | 认知层级 |
|------|---------|---------|
| 增量开发 | 装修房子:不是拆了重建,是在现有房子里加家具、刷新墙面 | 理解层 |
| 功能优先级 | 考试先做会做的题,难题放最后——功能也有"先做哪个"的顺序 | 应用层 |
| 计分系统 | 打篮球要有计分板,否则不知道谁赢了——游戏也需要反馈 | 理解层 |
| 倒计时机制 | 考试有时间限制才会紧张——游戏加倒计时才刺激 | 理解层 |
| 动画反馈 | 微信发消息有"已读"标记,你才知道对方看到了——游戏也需要"回应" | 应用层 |
**典型误概念表:**
| 编号 | 误概念 | 正确认知 | 激发策略 |
|------|--------|---------|---------|
| M1 | 加新功能就要重新做一个游戏 | 在已有代码上让AI增量添加原来的功能不会丢失 | 演示"重新做"导致旧功能丢失 vs "在原来基础上加"保留一切 |
| M2 | 所有想到的功能都要一次性加完 | 一次加一个功能验收通过后再加下一个一次说太多AI容易出错 | 让学生尝试一次提5个需求观察AI"翻车";再对比逐个添加的效果 |
| M3 | 功能越多游戏越好 | 核心功能做好比堆砌功能更重要3个精打细磨的功能胜过10个半成品 | 展示一个功能很多但全都半成品的"烂游戏"对比一个功能少但打磨到位的好游戏 |
| M4 | 加功能的顺序不重要,想到什么加什么 | 有些功能是其他功能的基础(如没有计分就没法做"最高分"),顺序很重要 | 让学生尝试先加"排行榜"再发现需要先有"计分",体验依赖关系 |
| M5 | AI加完功能不用测试肯定对的 | 每加一个功能都要亲自玩一遍验证AI经常在加新功能时"弄坏"旧功能 | 演示AI加计分后倒计时意外消失的案例 |
---
### 3. 教学准备
**工具与环境:**
- AI编程工具穹狼 Code / Trae每位学生已在前几课完成配置
- 每位学生上节课第5课的游戏项目文件HTML文件
- 教师演示电脑 + 投影
- 教师准备一份"基础版打地鼠游戏"作为演示用的标准起点
**教学资源:**
- 教师准备一个已验证的基础游戏上节课的MVP以及经过三轮迭代后的完成版用于对比展示
- 学生资源上节课做的可玩游戏如果有学生缺课或丢失文件教师提前准备2-3份不同的基础游戏作为备选
- "功能优先级排序卡"(打印版,每人一张,含 Must Have / Nice to Have / Later 三个区域)
**教师备课体验任务:**
> 备课前,教师必须亲自完成以下操作:
> 1. 用一个基础游戏如打地鼠分三轮分别添加计分系统、倒计时、点击动画记录每轮的提示词和AI表现
> 2. 故意在一轮中一次性提出3个以上功能需求观察AI是否出错为课堂演示"一次加太多会翻车"做准备)
> 3. 故意在新对话中说"帮我做一个有计分的打地鼠游戏"(不引用现有代码),对比在同一对话中说"在现有游戏基础上加计分"的差异
> 4. 确认每位学生的电脑上保留了上节课的游戏文件
---
### 4. 教学流程
**第一幕:联系 (Connect) — 10分钟** 🔗
**【环节:上节课回顾】(3分钟)**
**师:** 上节课我们干了一件特别酷的事——每个人用一句话就做出了一个可以玩的游戏谁还记得你做的是什么游戏【诊断点检测第5课核心体验的保持度——学生是否记得自己的MVP游戏】【识别层】
**【分支A】若学生兴奋地说出自己的游戏"打地鼠!""接水果!""躲避球!"**
**师:** 记得很清楚那我再问一个问题——你的游戏好玩吗满分10分你给自己打几分
**【分支B】若学生记忆模糊**
**师:** 上节课我们用一句话描述需求AI就帮我们生成了一个可以玩的游戏。你的电脑上还存着呢等下我们打开来看看。
**【分支C】若有学生缺课没有做过第5课**
**师:** 没关系!我这里给你准备了几个基础游戏,等下你选一个来用。今天的重点不是做新游戏,而是把已有的游戏变得更好。
**【环节:情景导入】(7分钟)**
**师:** 大家给自己的游戏打了分。我猜大部分人打了6分、7分左右——能玩但总觉得少了点什么。对吧
**师:** 我来给大家看两个东西。第一个——【投影展示一个最基础的打地鼠游戏:点击地鼠,地鼠消失,没有计分,没有倒计时,没有任何反馈】
**师:** 这是上节课做的"基础版"打地鼠。能玩吗?
**生:** 能玩。/ 但是好无聊。/ 没意思。
**师:** 能玩,但不好玩。现在看第二个——【投影展示同一个游戏的"迭代版":有计分、有倒计时、打中地鼠有动画效果和音效、有"游戏结束"画面和最高分记录】
**师:** 同一个游戏!但感觉完全不一样了,对不对?你们觉得第二个比第一个多了什么?【诊断点:探测学生能否自发识别出"增量功能"——计分、倒计时、动画等】【理解层】
**生:** 有分数了!/ 有倒计时!/ 打中了会闪一下!/ 还有声音!
**师:** 全都对!关键问题来了——这个"升级版"是我推翻了原来的游戏重新做的吗?
**【分支A】若有学生说"不是,是在原来的基础上加的"**
**师:** 厉害!你已经理解今天的核心概念了。没错——这叫"迭代"。不是重新做,是在已经能跑的游戏上,一个功能一个功能地加上去。
**【分支B】若学生认为"可能是重新做的"误概念M1的早期表现**
**师:** 你猜错了如果我重新做那之前调好的游戏玩法可能又要从头来。实际上我就是在原来的游戏上跟AI说"帮我加一个计分功能",它就加上了。这就叫——增量开发!
**师:** 今天这节课,你们就要把自己上节课做的游戏,从"能玩"升级到"好玩"!怎么升级?——一个功能一个功能地加。这就叫**增量开发**,也叫**产品迭代**。
---
**第二幕:建构 (Construct) — 65分钟** 🛠️
**【分段一:重开游戏 + 功能清单与优先级排序】(15分钟)** ✨
**预设误概念:**
- M2所有想到的功能都要一次性加完
- M4加功能的顺序不重要
**讲解与演示 (Teach & Demo): (5分钟)**
**师:** 首先大家把上节课做的游戏打开在浏览器里玩一遍。【等30秒让学生打开】
**师:** 玩完了?好。现在我教你们做产品经理最重要的事——列"功能清单"。产品经理是什么人?就是决定"这个产品要做什么功能"的人。今天你就是自己游戏的产品经理!
**师:** 我先用我的打地鼠游戏做个示范。我玩了一遍基础版,觉得缺了这些东西——【在白板上写】
```
我想加的功能:
1. 计分——打中一只加10分
2. 倒计时——30秒时间限制
3. 打中时有动画效果——地鼠闪一下
4. 最高分记录——保存我的最佳成绩
5. 难度递增——越到后面地鼠出现越快
6. 背景音乐
7. 排行榜
8. 不同种类的地鼠(有的加分多有的加分少)
```
**师:** 列了8个功能。但问题来了——我能一次全加上去吗
**生:** 不能!/ 太多了!
**师:**一次加太多AI容易"翻车"——加了新的把旧的弄坏了。所以我们要给功能排优先级!这就像考试——你会先做哪种题?
**生:** 先做会做的!/ 先做简单的!
**师:** 考试是先做会做的。功能排序呢,我们用另一个方法——分成三类:【在白板上画三个区域】
**Must Have必须有** 没有这个功能,游戏就不完整
**Nice to Have最好有** 有了更好,没有也能玩
**Later以后再加** 太复杂了或者不急,放到以后
**师:** 我来示范排序——
| Must Have | Nice to Have | Later |
|-----------|-------------|-------|
| 计分 | 打中动画效果 | 排行榜 |
| 倒计时 | 最高分记录 | 不同种类地鼠 |
| | 难度递增 | 背景音乐 |
**师:** 为什么计分是 Must Have因为没有分数你都不知道自己打了多少只这不是游戏是"无聊的点点点"。为什么排行榜是 Later因为排行榜需要先有计分系统——你连分都没有排什么榜【诊断点学生能否理解功能之间的依赖关系】【理解层】
**学生实践 (Practice): (8分钟)**
**师:** 现在轮到你们了!每个人拿出功能优先级排序卡。
任务:
1. 打开你的游戏,玩一遍
2. 花3分钟写下你想加的所有功能至少写5个越多越好先别管能不能做到
3. 花3分钟把功能分类到三个区域Must Have / Nice to Have / Later
4. 在 Must Have 里挑出最重要的一个,画个星号——这就是你今天第一个要加的功能
提示:如果你不知道写什么功能,看看这些方向——
- **反馈类:** 计分、生命值、最高分
- **紧张感:** 倒计时、速度加快、关卡
- **体验类:** 动画效果、音效、颜色变化、弹出提示
> 教师走动观察:重点关注谁把所有功能都放在 Must Have误概念M3的表现谁不知道怎么分类谁只写了1-2个功能需要帮忙扩展思路。
**进度同步 (Checkpoint): (2分钟)**
**师:** 好,停一下!谁来分享你的功能清单?先说你列了几个功能,再说你 Must Have 里选了什么。【诊断点:学生的优先级判断是否合理——有没有把"排行榜"放在"计分"前面M4的表现】【应用层】
**【分支A】若学生排序合理先基础功能后高级功能**
**师:** 你的排序很有产品经理的思维!注意到了吗——计分是很多其他功能的"基础",所以它排在最前面。
**【分支B】若学生把太多功能放在 Must Have**
**师:** 你列了不少 Must Have但想一下——如果今天只能加两个功能你选哪两个真正的 Must Have 是"没有它游戏就缺了一大块"的功能。
**【分支C】若学生列的功能很少或不知道分类**
**师:** 没关系!想想看你玩别人的游戏时,什么功能让你觉得"这个游戏好好玩"?分数?倒计时?过关?把这些写下来就行。
---
**【分段二:第一轮迭代——加计分系统】(20分钟)** ✨
**预设误概念:**
- M1加新功能要重新做游戏
- M5AI加完功能不用测试
**讲解与演示 (Teach & Demo): (5分钟)**
**师:** 功能清单排好了,现在开始动手!第一轮迭代,我们一起加最高优先级的功能。大部分同学 Must Have 里排第一的应该是——
**生:** 计分!
**师:**计分系统。我来演示怎么跟AI说"在现有游戏上加计分"。注意——这里有一个非常关键的说法!
**师:** 错误的说法——【在投影上打出来】
```
帮我做一个有计分功能的打地鼠游戏
```
**师:** 这句话有什么问题?
**生:** ……
**师:** 这是让AI"重新做一个"!它会忽略我们上节课辛辛苦苦做的游戏,从零开始。之前调好的玩法、样式全没了!
**师:** 正确的说法——【在投影上打出来】
```
请在我现有的打地鼠游戏基础上,添加一个计分系统:
- 每次成功点击地鼠分数加10分
- 在页面顶部显示当前得分
- 分数要大字号显示,醒目一点
- 不要改动现有的游戏玩法和样式,只添加计分功能
```
**师:** 看到区别了吗?关键词是——**"在现有的……基础上"**和**"不要改动现有的"**。这两句话告诉AI别重做在我已经有的代码上加这就是"增量开发"的核心——**迭代不等于重来**。【诊断点:学生能否理解"在现有基础上加"和"重新做"的区别】【理解层】
教师现场演示在AI对话中发送上述提示词等AI修改代码刷新预览。
**师:** 看!计分加上了。现在最关键的一步——验收!我要亲自玩一遍,检查三件事:
1. 点击地鼠,分数有没有增加?✅
2. 分数显示的位置和大小对不对?✅
3. 原来的游戏玩法有没有被弄坏?——我点击空白处看看,地鼠的出现节奏正不正常?✅
**师:** 三项全通过这一轮迭代成功了。如果验收发现有问题呢——就用第4课学的 Bug 描述三要素告诉AI修复。
**学生实践 (Practice): (12分钟)**
**师:** 现在轮到你们了给你们12分钟在你的游戏上加你选的第一个 Must Have 功能。
注意三个关键步骤:
1. **写清需求**——在AI对话中明确说"在现有游戏基础上",具体描述你要加什么
2. **一次只加一个功能**——不要贪心把所有功能一次说完
3. **验收测试**——AI改完后亲自玩一遍检查新功能是否正常旧功能有没有坏
如果你的 Must Have 是计分,可以参考我的提示词改成自己游戏的版本。如果你的 Must Have 是其他功能(比如倒计时),也用同样的结构去写。
保底提示词(如果不知道怎么写):
```
请在我现有游戏的基础上,添加一个[你要加的功能名]。
具体要求:[用1-3句话描述这个功能应该怎么运作]
注意:不要改动现有的游戏玩法和样式,只添加这个新功能。
```
> 教师走动观察,重点关注:
> - 谁在开新对话重新描述整个游戏M1的表现→ 提醒"在同一个对话里接着说就行"
> - 谁一次提了3个以上功能M2的表现→ 提醒"先加一个,验收通过再加下一个"
> - 谁加完功能没有测试就继续下一步M5的表现→ 提醒"先自己玩一遍看看对不对"
> - 谁的旧功能被AI改坏了 → 这是绝佳教学时刻引导用Bug三要素描述
**进度同步 (Checkpoint): (3分钟)**
**师:** 好,暂停一下!举手告诉我——加完第一个功能并且测试通过的,举手!【诊断点:完成度统计 + 验收意识检测——有没有人说"加了但没测试"】【应用层】
**师:** 没举手的同学,遇到了什么问题?
**【分支A】若大部分学生完成且测试通过**
**师:** 太好了!你们刚刚完成了第一轮迭代!感觉到了吗——游戏在你手里一点一点变好了。这就是产品经理的感觉。接下来我们进入第二轮!
**【分支B】若有学生AI加完功能后旧功能坏了**
**师:** 举个手看看,有谁的游戏加了新功能后,原来的功能反而坏了?(几只手举起)很正常!这就是为什么我说"每加一个功能都要测试"你现在要用第4课学的Bug三要素告诉AI"我加了计分后,地鼠不再消失了。请修复这个问题,不要影响计分功能。"
**【分支C】若有学生还没完成**
**师:** 没关系,你的节奏慢一点不要紧。先确保第一个功能加好了再往下走。遇到问题可以举手,也可以参考保底提示词。
---
**【分段三:第二轮迭代——自选增量方向】(15分钟)** ✨
**预设误概念:**
- M2一次加太多功能
- M3功能越多越好不注重质量
**讲解与演示 (Teach & Demo): (3分钟)**
**师:** 第一轮迭代完成了,你们的游戏已经比上节课好了一大截!现在进入第二轮——你可以从两个方向中自选一个:
**方向A加倒计时/生命值(紧张感方向)**
提示词参考:
```
请在现有游戏基础上添加一个30秒倒计时功能
- 在页面顶部显示剩余时间,和计分并排
- 每秒倒数一次
- 时间到0后显示"游戏结束!"和最终得分
- 倒计时最后5秒文字变红色提示紧迫感
- 不要修改已有的计分功能和游戏玩法
```
**方向B加动画/视觉反馈(体验感方向)**
提示词参考:
```
请在现有游戏基础上添加点击反馈动画:
- 点中目标时,目标放大后消失(或者闪烁一下)
- 同时在点击位置弹出"+10"的文字提示1秒后淡出
- 点空了的时候显示一个"X"标记,半秒后消失
- 不要修改已有的计分功能和游戏玩法
```
**师:** 选哪个方向都可以!关键是——还是那个原则:一次只加一个功能,加完要测试!
**师:** 做得快的同学,可以两个方向都加。但记住——每加一个,先验收再加下一个。不要急着堆功能!质量比数量重要。【诊断点:观察学生选择方向时是否有自主思考,还是盲目跟风】【应用层】
**学生实践 (Practice): (10分钟)**
学生自选方向进行第二轮迭代。
> 教师走动观察,重点关注:
> - 谁选了方向后犹豫不决 → 帮助简化选择:"你更想让游戏更刺激还是更好看刺激选A好看选B"
> - 谁开始同时加多个功能 → 温和提醒"先把这一个加好,测试通过再说"
> - 谁两轮都加完了,开始自由发挥 → 鼓励并引导他们看看 Nice to Have 里还有什么可以加的
> - 谁遇到困难卡住了 → 指导使用保底提示词,或建议简化功能需求
**进度同步 (Checkpoint): (2分钟)**
**师:** 好!第二轮迭代完成了多少人?举手让我看看!太棒了。谁来简单说说——你加了什么功能?加完后你的游戏体验有什么变化?【诊断点:学生能否描述"加了这个功能后,游戏哪里变好了"——从纯操作上升到产品感知】【迁移层】
**【分支A】若学生能说出具体感受"加了倒计时后感觉紧张多了""加了动画后打中很爽"**
**师:** 你说到了一个很重要的词——"感觉"!游戏好不好玩,就是看玩的人有没有"感觉"。计分给你"成就感",倒计时给你"紧张感",动画给你"爽感"。这就是为什么这三个方向这么重要!
**【分支B】若学生只说"加了XXX功能"但说不出感受:**
**师:** 功能加上了,很好!那你现在再玩一遍你的游戏——跟上节课的基础版比,你更想玩哪个?为什么?
---
**【分段四:调试与打磨——确保所有功能正常】(15分钟)** ✨
**预设误概念:**
- M5加完功能不用测试
- M3功能越多越好忽视Bug和细节
**讲解与演示 (Teach & Demo): (3分钟)**
**师:** 前两轮迭代你们给游戏加了计分、倒计时、动画……功能越来越多了。但功能多了Bug的可能性也多了。现在进入最后一个环节——**打磨**。
**师:** 什么叫打磨就像做一个木头椅子——形状做好了功能都有了但表面有毛刺Bug坐起来不舒服体验不好。打磨就是把毛刺磨掉让椅子又好看又舒服。
**师:** 打磨三步检查法——【在白板上写】
1. **功能完整性检查:** 每个加过的功能,亲自操作一遍,确认都正常工作
2. **功能冲突检查:** 新加的功能有没有把旧功能弄坏?(比如加了倒计时后计分还对吗?)
3. **视觉细节检查:** 分数显示位置对吗?倒计时字够大吗?动画流畅吗?颜色搭配协调吗?
**师:** 我演示一下。我的打地鼠游戏已经加了计分和倒计时。我来检查——
- 计分:点击地鼠,+10……✅ 正常
- 倒计时30秒开始倒计……✅ 正常
- 冲突时间到了后我再点地鼠分数还会加吗——哎居然还能加分这是Bug游戏结束后不应该还能操作
**师:** 发现了一个Bug。我怎么跟AI说——用Bug描述三要素
```
发现一个问题:
- 我做了什么倒计时到0后我继续点击地鼠
- 我以为会怎样:游戏结束后应该不能再操作了
- 实际怎样了:时间到了还能点击地鼠并加分
请修复倒计时到0后禁止所有点击操作只显示最终得分和"游戏结束"画面。
```
**师:** 看到了吗打磨就是——发现细节问题精确描述让AI修复。这一步最考验耐心但也是让你的游戏从"半成品"变成"正式产品"的关键!
**学生实践 (Practice): (10分钟)**
**师:** 现在花10分钟给你的游戏做最后的打磨。按照三步检查法
1. 把你加的每个功能都操作一遍列出发现的Bug
2. 特别注意不同功能之间有没有冲突
3. 检查视觉效果——文字大小、颜色、位置有没有不舒服的
4. 发现问题就用Bug三要素告诉AI修复
如果所有功能都正常了——恭喜你,你可以做这些"锦上添花"的打磨:
- 让AI美化一下界面配色
- 加一个游戏标题
- 加一个"重新开始"按钮
- 调整动画的速度或效果
> 教师走动观察,重点关注:
> - 谁认真在做测试(好现象)→ 表扬"你的验收很专业"
> - 谁在继续疯狂加新功能而不测试M3+M5→ "先停一下,把现有功能测好了再加新的"
> - 谁发现了有趣的Bug → 鼓励分享给全班
> - 谁的游戏已经打磨得很好 → 建议帮助旁边的同学
**进度同步 (Checkpoint): (2分钟)**
**师:** 最后问一个问题。你的游戏从上节课的基础版到现在,一共经历了几轮迭代?每一轮加了什么?【诊断点:学生能否清晰回顾自己的迭代历程——这是"过程层"透明化的核心检验】【迁移层】
**【分支A】若学生能说出"第一轮加了计分第二轮加了倒计时第三轮修了几个Bug"**
**师:** 完美!你刚才描述的就是"产品迭代记录"——专业的产品经理都会记录每一轮做了什么。这个能力以后会越来越有用!
**【分支B】若学生只说"加了很多东西"但说不清每轮做了什么:**
**师:** "加了很多东西"说明你做了不少工作!但如果能说清楚"第一步加了什么、第二步加了什么",你就能更清楚地知道自己的游戏是怎么一步步变好的。下次试试每轮迭代后记一句话笔记。
**【分支C】若有学生只完成了一轮迭代**
**师:** 一轮迭代也是迭代!一个功能做好了、测试通过了,比加了三个功能但都是半成品好得多。质量第一!
---
**第三幕:反思 (Contemplate) — 10分钟** 🤔
**【环节:成果展示】(6分钟)**
**师:** 现在是最激动人心的环节——展示时间我请3位同学来展示你的游戏"进化史"。展示的时候要说三件事:
1. 上节课的基础版是什么样的(可以说一句话描述)
2. 你加了哪些功能?按什么顺序加的?为什么?
3. 现场玩一遍给大家看!
请3位学生展示每人2分钟。优先选择①迭代轮数多且有明确节奏的学生 ②遇到Bug并成功修复的学生 ③功能不多但打磨精细的学生)
**【环节:互评与讨论】(4分钟)**
**师:** 看完了三位同学的展示,每人在心里想两个问题:
1. 谁的游戏你最想玩?为什么?
2. 如果你是产品经理,你会建议他/她下一步加什么功能?
谁来说说?
请2-3位学生发言
**师:** 最后一个关键问题——今天这节课和上节课有什么不同?上节课是"从无到有",今天呢?【诊断点:学生能否提炼出"从有到更好"的核心跃迁】【迁移层】
**【分支A】若学生能说出"上节课是做出来,今天是做更好"**
**师:** 一针见血这就是产品开发的两个阶段——先做出MVP最小可玩版本再通过迭代让它越来越好。真正的产品公司都是这么做的。
**【分支B】若学生说"今天加了很多功能"**
**师:** 对!但更精确地说——今天不是"做了一个有很多功能的新游戏",而是"在已有的基础上一个一个加上去的"。这个"在已有基础上加"就是核心!
---
**第四幕:延续 (Continue) — 5分钟** 🚀
**【环节:抽象总结】(3分钟)**
**师:** 今天我们学了三个核心能力,我用三句话总结:
**第一句:增量开发——** 不是推翻重来,是在已有的基础上加功能。就像装修房子,不是拆了重建,是一样一样添置进去。
**第二句:功能优先级——** Must Have 先做Nice to Have 后做Later 放一放。做产品不能贪心,先保证核心功能好用。
**第三句:每轮迭代都要验收——** 加一个功能就测一下,发现问题就修。"做了→测了→修了"比"做了做了做了→全崩了"好一百倍。
**师:** 这三个能力,不只在做游戏的时候有用。以后你做任何项目——写一篇长作文、准备一次班会、甚至整理自己的房间——都可以用"先列清单、排优先级、一步一步做、每步检查"这个方法。这就是"拆解力"的核心!【迁移诊断】
**【环节:下节预告 + 5分钟挑战】(2分钟)**
**师:** 下节课预告——我们要学"交互产品架构设计"。什么意思呢?今天你们是在已有游戏上"加功能",下节课你们要学"怎么从一开始就把功能想清楚"——先设计,再开发。就像建房子——今天是装修,下节课是画图纸!
**师:** 本周5分钟AI挑战来了
---
### 5. AI助教使用指南
**教师演示用提示词:**
**课前准备——基础版打地鼠游戏(演示起点):**
```
请帮我用HTML/CSS/JavaScript生成一个最基础的打地鼠游戏
- 一个3x3的网格
- 地鼠随机出现在某个格子里1.5秒后自动消失
- 点击地鼠后地鼠消失
- 没有计分,没有倒计时,没有动画效果
- 视觉上要简洁可爱,适合小学生的风格
- 所有代码放在一个HTML文件中
```
**课堂演示——增量添加计分(第一轮迭代示范):**
```
请在我现有的打地鼠游戏基础上,添加一个计分系统:
- 每次成功点击地鼠分数加10分
- 在页面顶部显示当前得分
- 分数要大字号显示,醒目一点
- 不要改动现有的游戏玩法和样式,只添加计分功能
```
**课堂演示——增量添加倒计时(第二轮迭代示范):**
```
请在现有游戏基础上添加一个30秒倒计时功能
- 在页面顶部显示剩余时间,和计分并排
- 每秒倒数一次
- 时间到0后显示"游戏结束!"和最终得分
- 倒计时最后5秒文字变红色提示紧迫感
- 不要修改已有的计分功能和游戏玩法
```
---
**学生保底提示词:**
**通用增量功能添加模板:**
```
请在我现有游戏的基础上,添加一个[功能名称]。
具体要求:
- [功能的具体表现1-3句话]
注意:不要改动现有的游戏玩法和样式,只添加这个新功能。
```
**Bug修复保底模板结合第4课**
```
我的游戏出了一个问题:
- 我做了什么:[描述操作]
- 我以为会怎样:[描述预期]
- 实际怎样了:[描述实际]
请在不影响其他功能的前提下修复这个问题。
```
---
**进阶提示词:**
**同时打磨视觉效果:**
```
请帮我美化游戏界面:
- 给游戏加一个标题"[游戏名]",用好看的字体和颜色
- 计分和倒计时区域加一个半透明背景框
- 整体配色方案换成[描述想要的风格,如"科技感蓝紫色""可爱粉色系"]
- 加一个"重新开始"按钮,放在游戏结束画面上
- 不要改动游戏逻辑,只美化视觉效果
```
**高阶:加难度递增机制:**
```
请在现有游戏基础上添加难度递增:
- 每得50分地鼠出现间隔缩短0.1秒最低不低于0.5秒)
- 每次难度提升时,在页面上闪一下"难度UP"的提示
- 不影响计分和倒计时功能
```
---
### 6. 教师指南
**本课技术备注:**
1. **增量开发的技术原理:** 在AI编程工具中如果学生在同一个对话/项目中发送后续请求AI会基于已有代码进行修改这就是增量开发的技术基础。如果学生开新对话或不引用现有代码AI会从零生成导致之前的功能丢失。教师需确保学生在同一对话/项目中操作。
2. **计分系统的技术实现:** JavaScript变量存储分数点击事件触发分数增加DOM操作更新页面显示。学生不需要知道这些细节只需要通过自然语言描述"每次点击加10分在页面上显示分数"。
3. **倒计时的技术实现:** JavaScript的`setInterval`函数每秒执行一次倒数。时间到后清除定时器、禁用交互。常见Bug倒计时到0后玩家仍可操作需要在回调中禁用点击事件
4. **CSS动画的技术实现** `@keyframes`定义动画帧,`animation`属性触发动画。常见效果:缩放(`scale`)、渐变透明(`opacity`)、颜色变化(`color`)。AI通常能根据"闪烁""放大后消失""淡出"等自然语言描述生成对应动画代码。
5. **功能冲突的常见原因:** AI在添加新功能时可能意外修改了已有代码的逻辑如重新定义了同名变量、修改了事件监听器。这就是为什么每轮迭代后都要验收测试。如果出现冲突让学生描述"加了X功能后Y功能坏了"AI通常能定位并修复。
**常见问题 FAQ**
| 问题 | 应对 |
|------|------|
| "我上节课的游戏文件丢了怎么办?" | 教师提前准备2-3份不同的基础游戏作为备选"没关系,我这里有几个基础游戏,你选一个你喜欢的来迭代。" |
| "我想加的功能AI做不出来" | "可能是你描述得还不够具体。试试把这个功能拆成更小的步骤:先实现最基本的,再逐步完善。" |
| "AI加了功能后整个游戏都坏了" | "别慌告诉AI'你刚才的修改导致游戏出了问题。请回到上一个版本,然后只添加计分功能,不要改动其他部分。'" |
| "我能不能重新做一个更好的游戏?" | "你的想法很好!但今天的重点是在已有基础上加功能。就像学开车——先学会直线走,再学会转弯,不能每次都换一辆新车。下节课你会有机会设计新游戏。" |
| "为什么要一次只加一个功能?" | "就像搭积木——一块一块搭,每搭一块检查一下稳不稳。如果一次堆五块,塌了你都不知道是哪块的问题。" |
| "我的功能都加完了,没事做了" | "你的打磨做完了吗视觉效果满意吗要不要试试加Nice to Have列表里的功能或者帮帮旁边还在调试的同学。" |
**课堂风险预案:**
- **如果AI服务不可用** 教师使用课前准备好的三个版本(基础版→计分版→完整版)进行对比展示和讲解,学生用纸笔完成功能清单和优先级排序练习,作为概念课处理。下节课补做实践。
- **如果学生进度差异过大:** 快的学生完成三轮迭代后,安排"小导师"角色帮助慢的同学;慢的学生只要完成一轮高质量迭代即可,不要求跟上最快的人。
- **如果大量学生上节课作品丢失:** 全班统一使用教师准备的基础游戏建议准备3种不同类型打地鼠、接水果、点击反应学生选择自己喜欢的类型进行迭代。
---
### 7. 5分钟日常AI挑战
**本周挑战:功能优先级设计师**
**挑战说明:** 选一个你常用的App或常玩的游戏比如微信、抖音、王者荣耀想象它还是一个"基础版"——只有最核心的功能。然后:
1. 列出这个产品至少有的5个功能
2. 用 Must Have / Nice to Have / Later 给它们排优先级
3. 用1-2句话解释为什么你觉得XX功能是 Must Have
把你的排序拍照发到班级群。下节课开始前,我们看看谁对"产品功能"的理解最深!
**下节课分享:** 下周课上选2-3位同学展示挑战成果
---
### 8. 拓展任务
**拓展一(推荐):继续迭代你的游戏**
回家后打开今天的游戏,从你的 Nice to Have 列表中再挑1-2个功能加上去。记录你的"迭代日志"
- 第X轮加了什么功能用了什么提示词测试结果如何
把迭代日志和游戏截图发到班级群,下节课展示"终极版"。
**拓展二(挑战):给朋友的游戏做"产品评审"**
找一个同学(或者用教师提供的基础游戏),以"产品经理"的身份进行评审:
1. 玩他/她的游戏,列出你觉得需要加的功能
2. 用 Must Have / Nice to Have / Later 排序
3. 写出最高优先级功能的详细需求描述要具体到AI能直接执行的程度
4. 把你的"产品评审报告"发给那位同学
这个挑战训练的是"从用户视角发现需求"的能力——这是产品经理最核心的技能!