1. 先做真实转移
桌上三颗种子,一只箱一只袋。每次移一颗,同时报告两边数量;没有的不能凭空拿出。
阶段 5 / UNIT 27 / 3 OF 6
背包不是一个图标,它怎样记得装了什么?
用Dictionary管理物品数量,保持箱内与背包总量守恒。
建议180分钟 · 可拆3次60分钟箱内3→0、背包0→3,多取不负数,远处不能拿。
先完成上一阶段作品。准备电脑、鼠标、Godot 4.6.1标准版与纸笔。没带电脑的伙伴可以先做预测和纸面设计,再轮换亲手操作。
下载起步工程下载参考完成工程两个包保留同一套可读的学习脚手架,lesson.gd中的LEVEL控制已启用的能力。打开对应脚本、解释并修改本课函数,再启用新进度;只改等级数字不算完成。没有新功能的设计、试玩与导出课,用作品修改和记录体现进展。
解压到不同文件夹,导入project.godot,打开main.tscn运行。手机用于阅读课程,Godot工程需在电脑打开。每包README包含本课任务;优先继续自己的工程,起步包用于补课与恢复。
桌上三颗种子,一只箱一只袋。每次移一颗,同时报告两边数量;没有的不能凭空拿出。
systems.gd的bag字典用seed作键,stock代表箱内剩余。当前只有一种物品,不急着做拖拽格子背包。
把LEVEL改为3,走近金色Crate按E。collect先检查距离2.2,再检查stock,最后一减一加;远处按E不获得物品。
读update_hud显示背包与箱内数量。依次试远处、取一颗、取三颗、第四次;键盘长按被is_echo过滤,不会一瞬间取空。
先在纸上写water键与数量,再讨论水与种子的单位。基础任务不改多类物品;熟练者复制数据规则,不复制一堆互不一致的数字。
位置:systems.gd:collect。下面来自参考工程,依赖工程内已有节点与变量;不要把同名函数重复粘贴。先指出输入、条件与变化,再比较自己的版本。
func collect() -> void:
if $Player.position.distance_to($Crate.position)>2.2:
note = "靠近金色种子箱,再按E"
elif stock <= 0:
note = "种子箱已空"
else:
stock -= 1
bag["seed"] += 1
note = "收进一颗种子"
feedback()基础:箱内3→0、背包0→3,多取不负数,远处不能拿。
挑战:增加一种物品,并给它清楚的名称和容量规则。
留下:四种输入测试及总数守恒说明。
我原先预测____;我实际观察____;我只改变了____;再次验证的结果是____。
走近箱子,点运行窗口,确认LEVEL至少3。
判断stock后再扣减,不先减后检查。
可以把本课问题“背包不是一个图标,它怎样记得装了什么?”交给AI,请它用例子解释或提出测试情况。给出实际节点名和错误原文,每次只采纳一项修改并运行验证。不要把整份工程、家庭信息或账号口令交给AI。
每个孩子贡献当天真正用过的三个英文词,例如 bag · item · amount。先共同回忆一段真实经历,再借助AI写成短故事,大家核对、听读、表演或配图。另留15—20分钟,允许先用中文表达。
本课重点:用Dictionary管理物品数量,保持箱内与背包总量守恒。以“箱内3→0、背包0→3,多取不负数,远处不能拿。”判断是否可以继续。7—15岁混龄约15人时,可结成2—3人伙伴组,大小伙伴轮换操作者与观察者,大孩子通过解释帮助伙伴成长;每个人都要留下自己的操作或判断证据。
先确认基础,再进入挑战。首次接触的孩子可以口述、画图和修改一个参数;熟练者解释规则、设计反例并协助调试。不以输入英文的速度分高低。若基础未完成,下次继续,不压缩休息赶进度。
| 分钟 | 学习节奏 |
|---|---|
| 0—10 | 观察作品、说预测 |
| 10—25 | 土星老师拆解一个关键概念 |
| 25—50 | 第一次动手与验证 |
| 50—60 | 离屏休息,可在此结束第一次学习 |
| 60—80 | 完成基础任务,轮换操作 |
| 80—90 | 离屏休息 |
| 90—110 | 边界测试与伙伴反馈 |
| 110—120 | 保存进度与离屏休息 |
| 120—145 | 第二次实验或整合 |
| 145—155 | 离屏休息 |
| 155—175 | 独立试玩与复测 |
| 175—180 | 整理记录与下一步 |
课间走出创生空间即可进入凡朴农场。在约定的活动范围内,可以休息、自由探索草坪菜地,或由土星老师即兴组织观察与小游戏。英语回顾和农场活动另行安排,不挤占必要的动手时间。