--- 课时: 6 主题: 产品迭代与增量开发 核心能力: [拆解力, 共创力] 核心工具: [穹狼 Code / Trae] 时长: 90分钟 透明化层级: 过程层 适用路线: 共享 --- ### 1. 课程目标 **知识目标:** - 理解"增量开发"的概念:在已有代码上"加功能",而不是推倒重来 - 理解功能优先级分类:必须有(Must Have)vs 最好有(Nice to Have)vs 以后再加(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:加新功能要重新做游戏 - M5:AI加完功能不用测试 **讲解与演示 (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. 把你的"产品评审报告"发给那位同学 这个挑战训练的是"从用户视角发现需求"的能力——这是产品经理最核心的技能!