游戏循环

像素、更新-绘制-显示核心心跳机制、按键控制、速度与碰撞检测。到第 6 课,他们将发布《星星收集者》——包含标题界面、3 条命机制、难度递增和音效。
一块开发板 · 首次手打 Python 代码
36 节沉浸式课程,学生将在 8 192 像素的屏幕上打造 8 款完整游戏——每一行都是真实手打的 Python 代码。课程最后,两块开发板将通过无线电联机运行学生自己编写的代码,展开乒乓球对决。
全新试点课程 · 现已开放预订每节课对应一个游戏设计思路和一个 Python 编程概念,每个单元都以一款署有学生自己名字的完整游戏收尾。下方展示的绝非概念图——每个画面都是课程项目的真实运行截图。

像素、更新-绘制-显示核心心跳机制、按键控制、速度与碰撞检测。到第 6 课,他们将发布《星星收集者》——包含标题界面、3 条命机制、难度递增和音效。
一块开发板 · 首次手打 Python 代码

开发板本身变成了控制器:死区、平滑处理、真实重力。两个游戏——通过倾斜开发板来操控的《倾斜迷宫》,以及带摄像机视角的无尽跳跃游戏《空中跳跃者》。
运动传感器 · 两款游戏

他们的第一个对象:sheenPet,一个用 Python 类来定义需求的生物——用按键喂食,用真实光线传感器晒太阳,房间一变暗就会立刻睡着。
光线传感器 · 触摸 · 第一个类

算法单元:贪吃蛇是一个列表,下落的方块是数据,旋转则是数学。从基本原理重构经典游戏——然后用自己的规则进行二创。
列表与网格 · 两款经典之作

用字符串绘制精灵,用文本敲出关卡,镜头跟随主角移动:《像素跑酷》是一款包含敌人、金币、生命值和终点旗帜的正统横版卷轴游戏——而且第 2 关由他们自己设计。
精灵 · 瓦片地图 · 镜头跟随

两块开发板,一个共享世界:消息协议,同一时刻只出现在一个屏幕上的小球,通过握手协议保证公平——《决斗乒乓》与拔河游戏,接着举办他们自己的 Game Jam 游戏创作节。
无线电 · 双人对战 · Game Jam
下方两列均来自本课程的真实课例,原汁原味地呈现了学生所见的内容——开学的第一行程序对比在最后一个单元中搭建的完整双人乒乓球对战游戏。

| 第 1 课 | 第 34 课 | |
|---|---|---|
| 编写的程序 | 闪烁的标题 | 双人乒乓球对战 |
| Python 代码行数 | 28 | 158 |
| 读取的输入 | — | 按键 + 无线电 |
| 追踪的状态 | 1 个计数器 | 球 · 得分 · 发球 · 在线状态 |
| 核心理念 | show() 切换画面帧 | 每个状态事实只有一个权威源 |
这期间没有一张枯燥的练习纸。所有 36 个程序都能真正运行——在每节课的浏览器模拟器中,在课堂上的开发板上,以及在自动化构建中(该系统在打印任何单页前都会重放每个游戏的规则)。
最后一节课会提供一个整洁、带有注释的游戏模板和 60 分钟时间。学生先在纸上设计——一种类型、一个机制、一个亮点——然后进行构建、试玩测试并展示成果。
设计文档。纸上的三个方框:游戏类型、核心机制、特色反转。三个方框全部填好前,不写一行代码。
可玩原型。模板的标题界面已属于他们的游戏,某些元素——哪怕看起来粗糙——玩起来也很有趣。这个截止节点正是整个规则的精髓所在。
精细打磨。增添游戏趣味:每个事件都有音效、每次击中都有闪烁、还有难度梯度——就像第6课《Star Catcher》教过的清单一样。
互换试玩。每款游戏都由非作者亲自试玩,反馈意见写在纸上,而不是隔着肩膀指指点点。
成果展示。板子亮起,全班畅玩,评价量规的四颗星:好玩、完成度、工艺细节,以及一项学到的收获。
我们为您的老师提供第一单元的培训,配备开发板,并将全部三十六节课程导入您的LMS教学平台。上课完全不需要网络——只需一间教室、几块开发板,以及一位愿意当众输掉《Duel Pong》对战的老师。
下载单页宣传单 (PDF)