主题:  再问拼图游戏

jerrowolf

职务:普通成员
等级:1
金币:0.0
发贴:83
#12001/3/17 10:47:41
算法问题,按照老莫的思路来讲,随机残生1-16的数列,那么按照这个数列初始化,一定能摆出最终结果么?这里有没有一个判断用户是否能成功的算法啊。
(另外,我的算法脑袋实在不灵光,怎么才能想到比较好的算法呢?)^_^



D计划-混沌

职务:管理员
等级:6
金币:15.2
发贴:3528
#22001/3/17 13:45:55
老莫?是模特兄否
不知兄用的是什么原理
----------------------------------------------
我的想法是,一个拼图游戏中的中心控制应该是那个空白单元(就是在它一个方阵中移动),注意应该是每次产生键盘的反向运动。(或鼠标的同向运动)
这样产生一个打乱的拼图,只要将这个空白单元自由行动n步即可
自由移动方法
每次判断它的可移动方向,然后从它的可移动方向随机产生一个移动方向,与该方向的图位置替换
(这里还可以记入前一步运动方向,使他成为空白单元的限制运动方向)
(记录他的行进,反过来就是解法了)
------------------------------------------
仅供参考
-------------------------------------------



jerrowolf

职务:普通成员
等级:1
金币:0.0
发贴:83
#32001/3/17 15:52:23
哦,我明白,虽然都是随机产生的序列,你的思路是反推,由一个正确的排列顺序逆推成一个随机的不规则序列。高!



jerrowolf

职务:普通成员
等级:1
金币:0.0
发贴:83
#42001/3/17 16:02:05
是,是,是,老莫探员,^_^