AI脑洞板
完整教案
自学课件
第 24 课 · 共 35 课

推箱子

你好呀,我是吴老师。

前面三个游戏,你多少都听说过。

这一课这个,很多人第一次见到 —— 可它是所有"解谜闯关"游戏的祖宗。 而且它是这一章里规则最简单、想头最深的一个。

读完之后,你应该能:说出推箱子的两条规则;讲出"难的不是操作、是地图"是怎么回事;用四件套拆开它;自己设计一关,甚至做一个换题材的新游戏。

用时:约 50 分钟。准备:板子、数据线、一张纸和一支笔(这一课要用)。


一、先玩一局

先玩。

装到板子上(USB 或蓝牙),装完它会自己打开。 按住屏幕,往哪边拖,人就往哪边走;右下角还有一个「重来」。

推箱子,把箱子推到橙色目标点上

玩三关。 玩不过去就按「重来」,不丢人。

✏️ 可以直接在表格里填写
玩之前先猜我猜的玩完发现
怎么算赢?
箱子和人,谁听谁的?
我会卡在哪一关?

玩完填这张:

✏️ 可以直接在表格里填写
第 1 关我走了几步第 2 关我卡住了吗我按过几次「重来」

💡 留意一件事:三关的规则一模一样,可第 3 关难多了。 那难度是从哪儿来的?


二、它从哪儿来

推箱子来自日本,日文名字叫「倉庫番」。

翻译过来是「看仓库的人」—— 你就是那个工人, 要把货堆里的箱子,一个一个推到该放的地方。

它最早是一个人自己做着玩写出来的。 1981 年前后,一位叫今林宏行的日本程序员, 用一种很老很老的电脑语言,在他自己的电脑上把它做出来了。

第二年,他干脆开了一家公司,把这款游戏做成了正式的商品 —— 公司名字叫 Thinking Rabbit("会思考的兔子")。

再往后,它去了很多地方。1990 年,台湾的一家游戏公司把它翻译成中文, 取名叫《仓库世家》—— 中国的孩子从那时候起才玩到它。

⭐ 停一下想一想。

推箱子的规则只有两条(下一节你就知道是哪两条)。可它让全世界的人, 想了四十多年。

而且到今天还有人专门研究它 —— 因为它"到底该怎么解"这件事, 难到连超级计算机也算不快。

规则可以很简单,难度可以很深。这两件事不矛盾。


三、它在玩什么

先自己填四件套。 (四件套是导言里的说法 —— 忽然想不起是哪四件,就回去看一眼。)

✏️ 可以直接在表格里填写
推箱子的四件套我填的
终点(想做到什么)
护栏(不许怎样)
手柄(我能做什么)
回声(它马上告诉我什么)
填好了再点开,对一对吴老师写的
推箱子的四件套参考
终点把所有箱子推到目标点上
护栏箱子只能推、不能拉;墙走不过去;一次只能推一个箱子
手柄滑动:按住屏幕往哪边拖,人就往哪边走
回声箱子推到目标点上会变绿;底下"箱子 1/2"的数字会往上跳

⚠️ 参考,不是标准答案。

用三句话,把它说清楚

【我来说推箱子】
第一句 · 我在里面是谁:我在玩的时候,是 ____________。
第二句 · 我按什么:我按 ______,它就会 ____________。
第三句 · 什么算赢:只要 ____________,我就赢了;
              只要 ____________,我就输了。

它最妙的一手是什么?

这个游戏的护栏只有两条。它是怎么难起来的?

想好了再点开

难度不在规则里,在地图里。

规则从头到尾一个字都没改过。可第 3 关比第 1 关难得多 —— 因为箱子要绕的路更长了,因为你得先推哪一个变得要紧起来了。

⭐ 这就是这一课最想让你看见的一件事:

规则简单 + 地图讲究 = 一个好玩的游戏。

你后面玩到的那些难关卡,难的不是"要按哪个键",而是"该先动哪一个箱子"。

拿「好玩五问」对一下:它第 2 问「越玩越难」做得特别好 —— 因为难度是一关一关加上去的,而不是一上来就难得没法玩。 (想想看:要是第 1 关就按第 3 关的样子做,你还会想玩吗?)

跟对方对一对

✏️ 可以直接在表格里填写
我写的对方写的一样吗
终点
它最妙的一手

💡 不一样才是好事。 有人觉得妙在"规则少",有人觉得妙在"要绕远路" —— 两个都对。


四、拆开看看

屏幕上你看得见的,和板子心里记着的,有什么不一样?

屏幕上看得到的板子心里记着的
一堵堵墙、一块块地板、几个橙色的小点第一张表:哪儿是墙、哪儿是目标点
几个黄箱子,被推着走第二张表:箱子现在在哪儿
箱子推到目标点上,变绿了两张表叠起来看:这一格底下是目标点、上面是箱子
底下写着"箱子 1/2"数了一遍:有几个箱子站在目标点上了

想一想这两个问题:

  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:"为什么电脑解推箱子这么慢?"规则的"简单"和"难解",为什么能同时成立?

想加哪样都行,不用全加。先挑一个你最想要的。

本节演示

推箱子

推箱子

把箱子推到目标点,三关