游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5434|回复: 7

关于推箱子的算法

[复制链接]

3

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2005-3-27 22:55:00 | 显示全部楼层 |阅读模式
前天笔试的时候,有一道题目就是推箱子的AI,如果是一个箱子就很好解决,DSP,BSP,A*都可以,但是几个箱子互相影响的情况就比较复杂了,后来我给的答案就是使用for嵌套,基本思路就是先移动第一个箱子到合适的地方,为移动第二个箱子做准备(第1层for),接下来将第二个移动到合适的地方,为移动第三个箱子做准备(第2层for)……直到最后一个箱子,使用DSP,或者BSP,A*移动到目的地,接下来就是依次完称各层for接下来的DSP,或者BSP,A*,不知道这样的想法会不会有缺陷?
再总结一下,也就是依次移动1,2,3,4到合适位置,再4,3,2,1移动到目的地,会不会有1,2,3移动,4到目的地,还需要2,3,1调整,才可以移动3,然后1,2调整才可以移动2,最后是1,虽然直觉觉得可以通过前面的移动到合适的地点来避免,但是没有数学证明总觉得不放心,还请算法大人点播啊

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2005-3-28 00:56:00 | 显示全部楼层

Re:关于推箱子的算法

什么公司啊!果然bt!推箱子的复杂度主要取决于地图,
最佳顺序的复杂程度在某些地图条件下可是箱子数的n倍!
你的算法只能适合于复杂程度=箱子数的最简单地图!
你玩一个推箱子游戏就知道了!我绞尽脑汁也没想到个高效的方式!
想想遍历所有的情况,筛去推入死角和同质化情况,在面对一个小地图时也是很低效的运算。
那位仁兄有好的算法就讲讲啊,我也很想学习学习!

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2005-3-28 08:33:00 | 显示全部楼层

Re:关于推箱子的算法

先想一下

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2005-3-28 08:35:00 | 显示全部楼层

Re:关于推箱子的算法

设计好思路,回朔可以实现,速度方面没什么好办法可以保证。

2

主题

89

帖子

99

积分

注册会员

Rank: 2

积分
99
发表于 2005-3-28 11:39:00 | 显示全部楼层

Re:关于推箱子的算法

用动态规划

1

主题

48

帖子

48

积分

注册会员

Rank: 2

积分
48
发表于 2005-3-28 12:00:00 | 显示全部楼层

Re:关于推箱子的算法

地图为平面,箱子规则的话,成为棋盘移子,不需要那些复杂技术吧。

6

主题

11

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2005-3-28 21:41:00 | 显示全部楼层

Re:关于推箱子的算法

我去育碧考试的时候也有这个题目,结果。。。。郁闷了!
不过好像看到本站ftp里面有一个相关的程序,去看看吧:)
如果有高手有好一点的算法,也请不吝赐教!

31

主题

630

帖子

635

积分

高级会员

Rank: 4

积分
635
发表于 2005-3-29 11:38:00 | 显示全部楼层

Re:关于推箱子的算法

招个程序员还得考这种题目!这些公司一定是有病!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-25 00:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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