jinyou 发表于 2009-6-11 08:50:03

《老封推箱子》v1.0 2002年吧

sokoban 发表于 2009-6-11 09:25:24

早期比较强的推箱子程序有一个是瑞典人的 Sokoban 1.5,这是我看到的第一个用鼠标点击然后程序自动推箱子的程序。背景音乐有那首 california dreaming 的midi. 那时不知这首是什么歌,就是觉得不错,印象很深。不知什么时候开始,这个瑞典人把Sokoban 1.5升级成 Sokoban 2,同时变成shareware了,可惜了。原来免费的 Sokoban 1.5 也找不着了。

[ 本帖最后由 sokoban 于 2009-6-11 09:39 编辑 ]

jinyou 发表于 2009-6-11 09:49:50

这类步数随关卡大小成指数增长的关卡,其实每一步都不能变换了(故意浪费不算),
用计算机暴力计算比较容易。
经验证,这是最优解。

管窥子 发表于 2009-6-11 10:57:01

我觉得金优先生给的关卡不是指数增长,而是线性增长。

anian 发表于 2009-6-11 11:35:03

sokoban兄说的“Sokoban 1.5”应该是“Sokoban For Windows v1.5”。 那是Bjorn
Kallmark的作品。  它自动推箱子的程序不可以拐弯。
现在已经出了“Sokoban For Windows v3”。
如果需要 v1.5, 我可以寄给你或上传到这里。
作者Bjorn说v1.2版本是在十二月, 1996年推出, 当时已经有鼠标点击然后程序自
动推箱子的功能。

如果说自动推箱子的程序(不可以拐弯), 在1997年Gerald Holler在他的
Sokoban 1997里面也有这个功能。 Gerald Holler也是后来Sokomind的作者。

其实那个时候已经有几个推箱子程序可以自动推箱子(还可以拐弯)。
如金优兄那只有一个箱子的关卡, 只有点击箱子再点击目标, 程序会自动把箱子推到
目标。

其中最流行的应该是这两个:
Sokoban YASC (Author: Brian Damgaard) 是在十二月, 2001年推出。
YSokoban (Author: George Petrov) 也是在十二月, 2001年推出。

我比较喜欢YSokoban。  它体积小, 功能强大,  不需要安装。
它记录着你所有过了关的关卡和答案。  可以避免你再玩已经过了关的关卡,无论那
个关卡是旋转了也可以记住(rotated, mirrored, any of the 8 possible orientations),  答案一目了然。
作者George Petrov写YSokoban有两大原因:
1。 他不想再玩已经过了关的关卡
2。 他觉得其它推箱子程序的路径搜查太慢。

由它推出的那一天开始, 它的路径搜查是我试过的所有推箱子程序最快的。
它的路径搜查有几个:
1。 点击箱子,  点击目标, 程序自动把箱子推到目标。
            (用者可以选择程序用最少移动或者推动步数来完成)

2。 点击“人”, 程序自动显示人可去到那里
          -- 如果再点击其中的一个可以去的地方, 程序自动把人以最少步数
             移到那个地方。

3。 显示人可以推动和不可以推动的箱子。

4。 点击目标(或任何空位), 程序自动显示所有可以推到那个被点击的地方的箱子,
  如果再点击可以自动以最少移动或者推动步数把最近的箱子移到被点击的地方。
       (据我所知, 目前只有YSokoban 和 Sokoban YASC 支持这个功能。)

[ 本帖最后由 anian 于 2009-6-11 12:22 编辑 ]

anian 发表于 2009-6-11 11:56:51

(接楼上....)
Bjorn的“Sokoban for Windows v3”路径搜查比之前的版本有很大的进步。
它的路径搜查速度很快, 比YSokoban只是慢了少许。
Sokoban YASC的速度路径搜查也很快。

以下这几关都是我用来测验一个推箱子程序路径搜查速度的:


----#--------#--------#--------#--------#--------#--------#--------#--------#----
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
--#---#----#---#----#---#----#---#----#---#----#---#----#---#----#---#----#---#--
-#-----####-----####-----####-----####-----####-----####-----####-----####-----#-
#-------##---------------#-----------#--------------#----#----------#-----------#
-#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#-
--#------------#----#---#----#---#----#---#----#---#----#---#----#---#----#---#--
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
---#--------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
--#---#----#---#----#---#----#---#----#---#----#---#--------#----#---#----#---#--
-#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#-
#-------##--------#---#----#-------##-------#--------#--------#--------#--------#
-#--------#-----#--#-----#--#-----#--#-----#--#--#--#--#-----#--#-----#--#-----#-
--#---#----#---#----#---#----#---#----#---#----#---#----#---#----#---#----#---#--
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
---#-#------#-#------#-#------#-#--------#------#-#------#-#------#-#------#-#---
---#-#------#-#------###------#-#------#-#------#-#------#-#------#-#------#-#---
--#-#-#----#---#----#---#----#---#----#---#----#--------#---#----#---#----#---#--
-#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#-
#--------#-------#--------#---------#-------#-#------#--------#--------#--------#
-#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#-
--#---#-#--#---#----#---#----#---#----#---#----#---#----#---#----#---#----#---#--
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
--#---#----#---#----#--------#---#----#---#----#---#----#---#----#---#----#---#--
-#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#-
#-------#-#-------#-------##-------#--------#-#------##-------#--------#--------#
-#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#-
--#---#----#---#----#---#----#---#----#---#----#---#----#---#----#---#----#---#--
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
---#-#------#-#------#-#------#-#------#-#------#-#--------#------#-#------#-#---
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
--#---#----#---#--------#----#--------#---#--------#----#--------#--------#---#--
-#-----#--#-----#--#-----#--#-----#--#--#--#--#-----#--#-----#--#-----#--#-----#-
#------#-#---#---#--------##-------##-------#--------##-------##-------##-------#
-#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#--#-----#-
--#---#----#---#--#-#---#----#---#----#---#----#---#----#---#----#---#----#---#--
---#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
---#-#------#-#------#--------#-#--------#------#--------#--------#-#--------#---
---#-#-#----#-#------#-#------#-#------#-#------#-#------#-#------#-#------#-#---
--#---#----#---#----#---#----#---#----#---#----#---#----#---#----#-#-#----#---#--
-#----------#---#--#--#--#--#--#--#--#-----#--#--#--####--#--#--#-----#--#-----#-
#--$$$--##--#-------------##-------##-------##----------------##-------##----#--#
-#-$---#--#-----####--------------#--#--------------####--------------#--#-----#-
###---#----#...#----#---#----#------------######---#----#---######------------#--
#--$-#------#.#------#-#######--########-#------#-#------#-#------##-----###-#---
#@--#-------#.#------###-----####------###------###------###------###----#-###---
#####-------###------------------------------------------------------#####------
Title:  beemaze
Author: Eric F Tchong
Above level is level 67 of the Atlas03 collection by Eric F Tchong.




;
##################################################
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#---------------------.-----$--------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------@-----------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
#------------------------------------------------#
##################################################



; 50x50 level of the same level below.
##################################################
#------------------------------------------------#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$+$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#-$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.-#
#------------------------------------------------#
##################################################

[ 本帖最后由 anian 于 2009-6-11 22:40 编辑 ]

sokoban 发表于 2009-6-11 12:47:15

我试了一下啊,YSokoban 的确功能非常强大!

anian 兄设计的这几个测试关卡相当好。

zhenying 发表于 2009-6-11 14:48:21

回复 11# 的帖子

jinyou兄,《老封推箱子》v1.0(boxman v1.0 )以及其它早期的版本你有吗?
我尙有收藏的兴趣,希望得到支持。

anian 发表于 2009-6-11 21:42:41

原帖由 sokoban 于 2009-6-11 12:47 发表 http://bbs.mf8-china.com/images/common/back.gif
我试了一下啊,YSokoban 的确功能非常强大!

anian 兄设计的这几个测试关卡相当好。


关于那几个测试关卡...  第一个不是我设计的, 其他的两个是。
第一个是来自Eric F Tchong的Atlas03, 67关。

jinyou 发表于 2009-6-12 11:36:42

18#
老封的早期版本我没有了。但是我觉得没有必要收集那些有许多BUG的东西。他1.85是修改已知BUG的。后来他突然大改界面,就很快升到4.0。中间几个版本都是修改界面BUG的。

14#
我画的一个箱子绝对不是线性增长,用地图大小和路程做坐标画出的绝不会是直线。当然没有达到指数级。
页: 1 [2] 3 4 5
查看完整版本: 解法步数随关卡大小成指数增长的关卡