你好呀,我是吴老师。
前面三个游戏,你多少都听说过。
这一课这个,很多人第一次见到 —— 可它是所有"解谜闯关"游戏的祖宗。 而且它是这一章里规则最简单、想头最深的一个。
读完之后,你应该能:说出推箱子的两条规则;讲出"难的不是操作、是地图"是怎么回事;用四件套拆开它;自己设计一关,甚至做一个换题材的新游戏。
用时:约 50 分钟。准备:板子、数据线、一张纸和一支笔(这一课要用)。
一、先玩一局
先玩。
装到板子上(USB 或蓝牙),装完它会自己打开。 按住屏幕,往哪边拖,人就往哪边走;右下角还有一个「重来」。

玩三关。 玩不过去就按「重来」,不丢人。
| 玩之前先猜 | 我猜的 | 玩完发现 |
|---|---|---|
| 怎么算赢? | ||
| 箱子和人,谁听谁的? | ||
| 我会卡在哪一关? |
玩完填这张:
| 第 1 关我走了几步 | 第 2 关我卡住了吗 | 我按过几次「重来」 |
|---|---|---|
💡 留意一件事:三关的规则一模一样,可第 3 关难多了。 那难度是从哪儿来的?
二、它从哪儿来
推箱子来自日本,日文名字叫「倉庫番」。
翻译过来是「看仓库的人」—— 你就是那个工人, 要把货堆里的箱子,一个一个推到该放的地方。
它最早是一个人自己做着玩写出来的。 1981 年前后,一位叫今林宏行的日本程序员, 用一种很老很老的电脑语言,在他自己的电脑上把它做出来了。
第二年,他干脆开了一家公司,把这款游戏做成了正式的商品 —— 公司名字叫 Thinking Rabbit("会思考的兔子")。
再往后,它去了很多地方。1990 年,台湾的一家游戏公司把它翻译成中文, 取名叫《仓库世家》—— 中国的孩子从那时候起才玩到它。
⭐ 停一下想一想。
推箱子的规则只有两条(下一节你就知道是哪两条)。可它让全世界的人, 想了四十多年。
而且到今天还有人专门研究它 —— 因为它"到底该怎么解"这件事, 难到连超级计算机也算不快。
规则可以很简单,难度可以很深。这两件事不矛盾。
三、它在玩什么
先自己填四件套。 (四件套是导言里的说法 —— 忽然想不起是哪四件,就回去看一眼。)
| 推箱子的四件套 | 我填的 |
|---|---|
| 终点(想做到什么) | |
| 护栏(不许怎样) | |
| 手柄(我能做什么) | |
| 回声(它马上告诉我什么) |
填好了再点开,对一对吴老师写的
| 推箱子的四件套 | 参考 |
|---|---|
| 终点 | 把所有箱子推到目标点上 |
| 护栏 | 箱子只能推、不能拉;墙走不过去;一次只能推一个箱子 |
| 手柄 | 滑动:按住屏幕往哪边拖,人就往哪边走 |
| 回声 | 箱子推到目标点上会变绿;底下"箱子 1/2"的数字会往上跳 |
⚠️ 参考,不是标准答案。
用三句话,把它说清楚
【我来说推箱子】
第一句 · 我在里面是谁:我在玩的时候,是 ____________。
第二句 · 我按什么:我按 ______,它就会 ____________。
第三句 · 什么算赢:只要 ____________,我就赢了;
只要 ____________,我就输了。
它最妙的一手是什么?
这个游戏的护栏只有两条。它是怎么难起来的?
想好了再点开
难度不在规则里,在地图里。
规则从头到尾一个字都没改过。可第 3 关比第 1 关难得多 —— 因为箱子要绕的路更长了,因为你得先推哪一个变得要紧起来了。
⭐ 这就是这一课最想让你看见的一件事:
规则简单 + 地图讲究 = 一个好玩的游戏。
你后面玩到的那些难关卡,难的不是"要按哪个键",而是"该先动哪一个箱子"。
拿「好玩五问」对一下:它第 2 问「越玩越难」做得特别好 —— 因为难度是一关一关加上去的,而不是一上来就难得没法玩。 (想想看:要是第 1 关就按第 3 关的样子做,你还会想玩吗?)
跟对方对一对
| 我写的 | 对方写的 | 一样吗 | |
|---|---|---|---|
| 终点 | |||
| 它最妙的一手 |
💡 不一样才是好事。 有人觉得妙在"规则少",有人觉得妙在"要绕远路" —— 两个都对。
四、拆开看看
屏幕上你看得见的,和板子心里记着的,有什么不一样?
| 屏幕上看得到的 | 板子心里记着的 |
|---|---|
| 一堵堵墙、一块块地板、几个橙色的小点 | 第一张表:哪儿是墙、哪儿是目标点 |
| 几个黄箱子,被推着走 | 第二张表:箱子现在在哪儿 |
| 箱子推到目标点上,变绿了 | 两张表叠起来看:这一格底下是目标点、上面是箱子 |
| 底下写着"箱子 1/2" | 数了一遍:有几个箱子站在目标点上了 |
想一想这两个问题:
- 墙和目标点会跑吗?箱子会跑吗? —— 那为什么要把它们分成两张表记?
- 每张地图的最外面一圈,全是墙。这是为了好看吗? (提示:要是外面没有那圈墙,人会走到哪儿去?)
想好了再点开
第一问:因为墙和目标点从头到尾都不会动,箱子却每一步都在变。 分开记,判断"箱子到位了没有"就变得很简单 —— 底下是目标点、上面是箱子,就是到位。
要是全塞在一张表里,箱子推到目标点之后,你就分不清那格底下到底是目标点还是地板了。
第二问:不是为了好看 —— 是为了省掉"会不会走出去"这件事。
外面围了一圈墙,人就永远走不到外面去,因为撞墙本来就不让走。 用地图的设计,把程序里的麻烦事直接消掉了。
(代价是:以后你自己画地图,四周必须围一圈墙。)
五、动手做
这一课的动手做,要动笔。
| # | 做什么 | 做到的样子 |
|---|---|---|
| 1 | 三关都通关 | 第 3 关至少通关一次 |
| 2 | 在纸上画一关(用 # 画墙、. 画地板、$ 画箱子、* 画目标点、@ 画人) | 正好 12 行、每行 12 个字符,四周一圈都是 # |
| 3 | 把你画的这一关照着格子数一遍:箱子能推过去吗? | 能说出"第一步推哪个" |
| 4 | 跟 AI 聊一次(用下面这段话) | 它挑出你地图里的毛病 |
我在学做"推箱子"这种游戏,我自己画了一关,想请你帮我看看。
规则:只能推不能拉;前面是墙就走不过去;一次只能推一个箱子。
符号:# 是墙,. 是地板,@ 是人,$ 是箱子,* 是目标点。
我画的地图是这样的(12 行、每行 12 个字符):
______
请你做两件事:
1. 先检查我的地图合不合规矩:是不是 12 行 × 12 个字符?四周是不是都是 #?
$ 和 * 的数量是不是一样多?@ 是不是只有一个?
2. 再想一想:这一关**能推通吗**?如果推不通,告诉我卡在哪儿 ——
先别直接把答案给我。
六、只改一个条件
每一行都是对 AI 说的一句话。先猜,再改,最后填"实际怎样"。
| 我改的条件(对 AI 说的一句话) | 我预测会怎样 | 实际怎样 |
|---|---|---|
| 把格子变大一点(每格 15 像素改成 18) | ||
| 加一关,只放 1 个箱子,特别好推 | ||
| 加一关,放 3 个箱子,而且互相挡路 | ||
| 把「重来」按钮去掉 | ||
| 加一个「撤销上一步」 |
改完必答:
「加一关」和「改一个数字」,哪个更像"做游戏"?为什么?
(提示:改数字,你还是个玩家;画地图的时候,你就变成做游戏的人了。)
七、二次创新
改造:只给一个方向
加一个「撤销上一步」 —— 推错了不用重来,退一步就行。
这一课只给你一个改造方向。为什么? 因为推箱子最好玩的地方不在改,在造。
新玩法(两个方向,都是"你来做")
方向一:自己设计一关很难的
让箱子要绕一大圈才能推到目标点。画在纸上,再让 AI 帮你装进板子。
方向二:换一个题材
把"仓库和箱子"整个换掉,规则一个字都不改:
- 把「小鱼」赶回池塘(人变成赶鱼的小孩,箱子变成小鱼,目标点变成池塘)
- 把「书」推回书架上对应的格子
- 你自己想一个
我想做一个新游戏,用的是推箱子的玩法,但是换一个样子:
- 原来的人改成 ______
- 原来的箱子改成 ______
- 原来的目标点改成 ______
- 规则一点都不变:只能推不能拉,前面是墙就走不过去,一次只能推一个
另外,请帮我加 ______ 关:第 1 关要很简单,最后一关要难一点。
做好装到我的板子上。请用中文注释。
⭐ 发现了吗:这一课的"创新",一半是在做游戏,一半是在做内容。 关卡就是内容 —— 同样的规则,谁画的地图,就是谁的游戏。
八、自检小测
九、还想玩点什么
| 方向 | 可以试试 | 值得继续想 |
|---|---|---|
| 画地图 | 一口气画三关,一关比一关难 | 你怎么保证第三关"难但仍然推得通"? |
| 换题材 | 把推箱子换成"赶小鱼回池塘" | 换完之后,它还算"推箱子"吗? |
| 加规矩 | 加一种新格子,比如"推上去会滑走" | 这条新规矩让游戏更好玩了吗? |
| 看别人怎么改 | 问 AI:"为什么电脑解推箱子这么慢?" | 规则的"简单"和"难解",为什么能同时成立? |
想加哪样都行,不用全加。先挑一个你最想要的。