2009-04-16
Silverlight连连看游戏源码
Silverlight连连看游戏源码介绍:使用Silverlight2.0(c#)开发一个连连看游戏玩法:用鼠标左键选中卡片,如果选中的两卡片间的连线不多于3根直线,则选中的两卡片可消除思路1、卡片初始排列算法:已知容器容量为x,不重复的卡片数量为y,x>=y&&x%2==0,首先在容器内随机排列卡片,然后取出容器内相同的卡片个数为奇数的集合(集合内成员数量必为偶数个),最后将该集合一刀切,将集合右半部分的卡片的依次复制到集合左半部分。以上算法保证了在一定随机率的基础上,不会出现相同的卡片个数为奇数的情况2、无解算法和重排算法:在容器内存在的卡片中,两两计算是否存在可消路径,如果没有就是无解,需要重排。重排时,需要得到现存的卡片集合和卡片位置集合,在卡片集合中随机取卡片(取出一个,原集合就要移除这一个),然后依次放到卡片位置集合内,从而达到将现存卡片重新排列的目的3、两点消去路径的算法以及取最优消去路径的算法:取玩家选的第一点的x轴方向和y轴方向上的所有无占位符的坐标集合(包括自己),名称分别为x1s,y1s;取玩家选的第二点的x轴方向和y轴方向上的所有无占位符的坐标集合(包括自己),