Saturday, March 3, 2007

3*3的puzzle游戏居然分有解和无解

Saturday, 3. March 2007, 16:09:35

,


:faint: 我昏过去,自己写了个psp上的puzzle游戏小试一下,使用的是rand()函数随机排列了一下8个小图片。昨天玩了一下,玩出来了,今天玩了两次,都绞尽脑汁,可怎么都没法玩出来,就是有2块怎么移都无法移到正确的位子,我倒~~~!:faint: 难道睡了一觉智商直线下滑了?:confused: :no:

拿出草稿纸,用广度算法比画了n多步,发现就是弄不出,晕~~~!:ko:

网上找了一下,才发觉原来随机摆放图片可能造成无解,我倒~~!今天运气还真是好的可以,两次都是无解!以前只是玩,现在是自己写,果然思考的方式和思考的广度深度不同了~~!:eyes:

大学高数不努力,游戏编程徒伤悲!:worried:

判断有无解的算法是这样的:
先把矩阵matrix[3][3]放到一维数组array[9]中,如:
123
456
78X
就成为12345678X。
然后只要把位置i的f(i)计算出来,然后sum(f(i)),即对f(i)求和,得到偶数则有解,得到奇数则无解。
注:f(i)求的是从array[0]到array中比array的值小的元素个数。

No comments: