找回密码
 欢迎注册
查看: 136|回复: 3

[原创] 当箱子的密度达到多少时就出不去了呢?

[复制链接]
发表于 2025-1-8 19:09:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
玩家所在的地图是随机生成的

这个地图被划分成(2N-1)行(2N-1)列的正方形格子

除了正中间的格子一定是空地以外,其余的每个格子都有(1-p)的概率是一个空地,有p的概率是一个箱子

玩家一开始位于地图的正中间,也就是第N行第N列的空地上

玩家可以从一个空地移动到相邻的空地,也可以推动一个箱子(和这个箱子一起移动一格)

玩家一次只能推动最多1个箱子,不能推动2个或多个箱子,也不能往回拉箱子

当N趋向于无穷大时,玩家能走到地图边缘的概率的极限值取决于箱子的密度,也就是p的值

具体规律如下:

当p很大时(大于临界阈值pc时),玩家能走到地图边缘的概率随着N的增大,会以指数级的速度衰减到0

当p很小时(小于临界阈值pc时),玩家能走到地图边缘的概率随着N的增大,不会衰减到0(会以多项式级的速度收敛到一个大于0的常数上)

本贴要求解的问题如下:

(1)这个临界阈值pc是多少?

(2)当p恰好等于临界阈值pc时,玩家能走到地图边缘的概率随着N的增大是以什么规律变化的?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 昨天 08:29 | 显示全部楼层
当箱子的密度p达到0.6时,好像就出不去了

你们可以下载这个附件,解压后运行,然后试玩一下:

sokoban.zip (680.81 KB, 下载次数: 1)

上面这个游戏是键盘操作,运行后提示“Input p: ”,此时输入0.6,然后按回车键,游戏就开始了:

1.png

接下来可以按上下左右键移动小人和推动箱子,也可以按asdw键浏览地图

如果浏览地图后找不到小人了,可以按h键居中显示小人

如果一开始就被困死了,可以按r键生成一张新的地图

地图大小是399行399列,如果你把小人移动到了地图边缘,会有“You win!”的提示

大家试玩一下,看看能否玩赢p=0.6吧

#####

顺便分享我的一些常用操作:

1. 如果发现某个箱子推动若干步后,能解锁新区域,并且没有阻挡任何道路和其余箱子,就可以放心地推动它

2. 如果一旦推动某个箱子,这个箱子就跑到角落里了,并且这个箱子会阻挡另一个区域的开辟,此时就需要慎重

3. 在地图里多转悠,一旦发现第1个操作成立,就推动这个箱子,解锁新区域

4. 如果转悠完一圈了,发现第1个操作均不成立,才执行第2个操作(优先选择推动后阻挡度小且开辟度大的箱子,把它推向角落)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 昨天 10:10 | 显示全部楼层
对于通路可达的位置,搞成鼠标点击快速到达。通路判断不难吧。

视窗25X25太小了吧,399X399那不是分64个视窗了?

能鼠标滚动视窗也行啊。用键盘转悠,慢且不说,还不安全,一不小心就推动箱子了。

点评

我发贴的本意是想求解密度p的临界阈值pc的,我以为把游戏开发出来是一个加分项,没想到成了被吐槽的扣分项了:(  发表于 昨天 17:55
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2025-1-18 10:07 , Processed in 0.026627 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表