網友評分:
4.3分
推箱子工具是一款非常專業的推箱子游戲求解計算程序,利用它能夠輕松計算流行的10乘10大小之內的各類推箱子難題。但是推箱子問題已經被證明是一種“NP-難的問題”,這是計算機領域中至今沒有找到有效算法的一類著名難題。目前,根本不存在對所有推箱子問題都能有效求解的方法。
這款推箱子自動求解軟件的特色是先進的死鎖檢測算法。死鎖就是一旦把箱子推動到某些位置,一些箱子就再也無法推動或者無法推到目的點,比如四個箱子成2×2擺放。推箱子高手對何種情況引起死鎖非常敏感,這樣他們預先就知道決不能讓某些局面形成,這也是高手高于常人的原因之一。我的工具能夠檢測出絕大部分這樣的死鎖,并且,由于對死鎖的特征進行了高度提煉,能夠檢測出很多人也無法很快看穿的死鎖。這樣,工具的效率得到很大的提高。
軟件以求出一個解為目標,而不是求最優解。求最優解需要消耗更多的時間和內存,我認為得不償失。
在“求解”菜單下面有四個命令是一直無效的,他們是:“求解算法0”,“求解算法1”,“求解算法3”,“算法0設定”。算法0,1是作者開發此工具時先前版本所用的算法,都不如“求解算法2”,僅僅供作者自己研究用。算法3是作者正在研究的一個算法,還有很多地方不完善。因為主要功能是求解,所以作者沒有對界面進行精益求精的完善。
在“文件”菜單下有“打開文本格式文件”和“保存為文本格式文件”的功能。很多網上的推箱子游戲用文本格式保存題目,因此工具提供了支持。工具支持的文本格式文件的格式是:
每一行代表倉庫的一行,不能有空行。
空格或‘='表示地板。每行最后連續的地板可以省略。
‘#’表示墻。
‘@’表示人。
‘$’表示箱子。
‘.’表示目的點。
‘*’表示在目的點上的箱子。
‘+’或‘%’表示在目的點上的人。
“編輯”菜單下的“目標人位置”是本工具的特色之一。在求解一些大型題目時,雖然不能直接使用本工具,但是可以把題目分解成若干個子目標,有些目標可以用工具求解。這時,僅僅把箱子推到位是不夠的,往往要指定最終狀態時人所在的位置。比如要讓人通過一個充滿箱子的通道,然后把箱子回復原狀。這時這個命令就可以起作用,它指定最終狀態時人必須在的位置。
工具界面使用不同顏色表示墻、箱子和人。在顯示解答時,以推動一次箱子為一步,期間的人的移動不計。此時所有人所能到的格子用綠色填滿。
在“試玩模式下”,移動人直接點擊目標點即可,推動箱子的方法是鼠標右鍵點擊箱子的目標點并且按住不放,然后點擊左鍵。
Stage目錄下提供一些推箱子的題目。其中有些是文本格式的。其中WVsoko目錄下的題目由20603(倉庫大師游戲的作者)提供。SoftStar目錄下的關卡由網友金優轉換。他的其他一些收藏整理或創作的關卡放在JinYou目錄下。
標簽: 推箱子