是WIN 下面那种纸牌吗?
我想到的是:
1、一个变量标记 状态 标志。
2、52张牌,编号,放到 一个数组里。 建议按花色来排列。 如 黑桃A-K ,是 1-13 ,草花是 14-26 ,红星是 27 。。。
这样,判断花色和 是否是相连接的牌就好判断了。
3、游戏界面,分为三个区域:
左上,一个区域 , 分为二部分,显示部分和已翻过去的牌的部分,一个数组保存,再加一个标志变量就可以了。
右上 ,一个区域,分为四个部分,用一个二维数组表示,一维表示所属的花色,二维表示当前收到了那张牌。
下面,为主体,用 8个一维数组来表示 及一个 标记 的数组来表示。
4、游戏流程。
每个显示区域,用一个图像框来表示。 牌的图片,放到 IMAGE 数组中,按 数据的定义进行保存。
初始化:
按规则,每叠的牌数,随机到 总牌数中 抽取,然后存放到各个数组中去。然后初始化标记变量,根据标记变量,
把牌一张一张的叠好。叠 IMAGE 控件。
游戏时:
鼠标拖动:拖动的目标是否为一张,如果不是一张,是否符合 拖动规则。根据序号来计算判断。
可移动时,显示移动动画,然后判断目标位置,最后一张是与 比拖动对象 小1,并且花色不同。
鼠标双击时,判断 是否为A ,如果为A,到 回收区找个空白区,然后把这张A放过去。
如果不是A,判断花色,找到所属格,然后判断是否比回收区的牌大一,如果是,就移上去。
游戏是否结束:
下面 8个数组 内容均为空,那么说明游戏胜利。
我想到了就是这些,你参与一下。
打了半天的字。