拼图游戏开发

(注)此文章是2年前写的。我一直贴在别的地方,那个地方文章全部删除后我将其搬到了这儿。

前天一时兴起,习惯的打开VC6.0,写了一个拼图游戏——虽然网上有很多可供下载的,但我还是决定自己写一个——因为大一就想写了,一直拖到现在。

        快要考试了,所以没有充裕的时间,但效果还算理想——有图形化菜单、自主选择图片、有音效、自主调节方块数、可调边框颜色……自我感觉还行。也遇到了一些技术、数学方面的难题,所以提出来,一来是对自己的总结,也希望对你有所裨益!大致界面如下,晒晒先:  

主界面

下面讨论技术问题。谁都知道,拼图游戏就相当与一个宫格图。为了简便起见,下面我一律用9宫格来说明——即3×3格式的拼图。所有人都知道:拼图最后的空白格永远在右下角。那么就相当于下面一个序列:

1  2  3
4  5  6
7  8  9
9所在的位置就是空白格。将此序列按从左到右、从上到下的顺序排列成一行:1 2 3 4 5 6 7 8 9。这下你大一学到的线性代数可派上用场了!!先祭出几个定理:
No1. 对于一个排列——就像a1,a2,a3…an,如果对于前面的一个数,它大于后面的数,就称为逆序,所有的逆序总数就称为逆序数。
No2. 如果一个排列的逆序数为偶(包括0),则称其为偶排列,否则称之为奇排列。
No3. 将任意两个数交换称之为对换。对换改变排列的奇偶性。
No4. 奇排列变成自然排列(由小到大排列)的对换次数为奇数,偶排
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值