倉庫番
(重定向自Sokoban)
《倉庫番》是一款益智游戏,由日本的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)
- (中文)推箱子游戏的自动求解 (页面存档备份,存于互联网档案馆)
- (繁體中文)倉庫番史上完全版〈大宇製作的仿製品〉