推箱子
《推箱子》是一款益智游戏,由日本的Thinking Rabbit公司于1982年首次发行。之后其他游戏开发者争相制作仿制或衍生作品。致使推箱子成为此类游戏的代名词。游戏要求玩家在二维地图上把箱子推到指定地点,当中牵涉到大量的空间逻辑推理。
日语写法 | |
---|---|
日语原文 | 倉庫番 |
假名 | そうこばん |
平文式罗马字 | Sōkoban |
推箱子的规则
第一个《推箱子》的游戏规则,则是扮演工人的玩家,以“推”的方式,推动箱子。可以在没有阻碍物(如墙壁等的阻碍物)的情况下,向左、右、上、下的地方移动。将箱子移动到指定点,达到指定数量,即可过关。
但玩家移动箱子,有下列条件要注意:
- 推到墙壁的箱子,玩家就不可以背对墙壁,把箱子推回到空处。即箱子只能以“推”的方式移动,不能以“拉”的方式移动。但如果玩家推至墙壁后,垂直墙壁的两侧没有阻碍物,则玩家可以朝这两个不同的方向推移箱子。
- 一旦箱子被移动到角落,玩家没有任何方法再移动这个箱子。
- 玩家不可同时推动两个及以上的箱子。假设工人面前有一个箱子,箱子的正前方又有一个箱子,则这两个箱子是不能推动的。
科学研究
推箱子已经通过计算复杂性理论进行了研究。解决推箱子难题的计算问题首先被证明是NP难的[1],进一步的研究证明它也是PSPACE完全的[2]。
变体
基于基础的规则,有的游戏添加了数量有限的炸弹破坏墙壁方可达成目标;重力添加到游戏中;可以改变特性的墙壁、机关;可以收集的物品(原本是障碍物)。
参见
其他
参考文献
- ^ M. Fryers and M.T. Greene. Sokoban. Eureka. 1995, (54).
- ^ Joseph C. Culberson, Sokoban is PSPACE-complete (页面存档备份,存于互联网档案馆). Technical Report TR 97-02, Dept. of Computing Science, University of Alberta, 1997. Also: http://web.cs.ualberta.ca/~joe/Preprints/Sokoban[永久失效链接]
外部链接
- (日语)Official Sokoban site (页面存档备份,存于互联网档案馆)(in Japanese)
- (中文)推箱子游戏的自动求解 (页面存档备份,存于互联网档案馆)
- (繁体中文)推箱子史上完全版〈大宇制作的仿制品〉