c语言程序设计扑克牌游戏?

Python020

c语言程序设计扑克牌游戏?,第1张

定义一个结构类型表示一张牌,结构包含3个成员,第一个成员char:取值2,3~K,A表示牌名字,第二个成员int:取值2~14表示牌真实大小。第三个成员:结构链表指针

写一个初始化函数,定义52大小的结构数组,成员值初值分别和牌对应,遍历数组并将每个元素的链表指针依次指向下一个元素地址。这样得到一个初始链表。(相当于一盒新牌)

所有涉及随机数都用rand函数,洗牌分四份就是循环取随机数m=1~n,n是随循环自减,初值52,直到n变成0。每随一次循环就从初始链表中遍历取出对应第m个节点,并从初始链表中将这个节点断开(既前一个节点指针直接指向后一个节点指针)。每取13张就组成一个新的链表。这样获得4个新链表分别表示4个玩家。

最后出牌就是分别遍历自己的链表,利用循环取牌比较结构数值大小。(取出的牌要从链表断开和上面一样,你把取出节点写成独立函数就能反复使用)。

定义个字符数组,存放 A-K 牌面的字母 char ch[][3]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}

牌的大小从 A-K分别 为 0-12

在输出牌的牌面字符时,输出 ch 数据中 牌面值下标的字符串。如某牌 数值 是9, 输出时如下:

printf("%s", ch[9])

“%d\%c”是格式输出字符串,表示要输出一个整数(%d) 一个字符(%c) ,后面的两个参数分别是整数,字符,和格式化字符串相对应。\ 是转义符,对于要输出特殊字符时,需要在前面加上\, 比如输出\时,就写成\\ 再如 " ,应写成\" ; 输出换行 写成 \n, 输出回车写成 \r 等。 在这个题目中,\和后面的%构不成特殊字符转义,所以\ 不输出,删掉它也是一样的。