怎么样编写一个扑克牌发牌函数

编程入门 行业动态 更新时间:2024-10-11 11:17:37

怎么样编写一个<a href=https://www.elefans.com/category/jswz/34/1766301.html style=扑克牌发牌函数"/>

怎么样编写一个扑克牌发牌函数

先定义一个结构体,里面的成员有存储花色和牌面的数组,然后在主函数里面声明一个结构体数组p大小为52,用来存储花色跟牌面,还有一个的整型数组arc大小也是52,用来存储牌面跟花色的顺序。
1.void baoc(CHUC p[])函数:首先先编写一个void baoc(CHUC p[])函数,这个函数用来保存52张扑克牌,这个函数里面用了两个数组指针来分别保存花色与牌面,如果把52张扑克牌按1到52的牌面顺序来排序,那么strcpy函数里面的(i/13)的意思是i<13的相除都是0那么就可以把存储花色的数组指针的黑桃赋给结构体的huase数组。红桃,梅花,方格的存储方法都是如此,那么(i%13)又是什么意思呢,意思是每隔一个周期(13)就重新赋值下一轮,例p.paimian[12]=King,而p.paimian[13]=“A”,
2.void XIPAI1(int arc[])函数:这个函数是通过一个数组来存储对应下标的数组,是用来配合发牌函数与洗牌函数的.
3.void XIPAI(int arg[])洗牌函数:这个函数通过srand函数time函数以及rand函数来取得一个随机数,然后将这个随机数跟正常存储扑克牌顺序交换达到洗牌的目的。
4.void fapai(CHUC p[],int arc[])发牌函数:通过洗牌函数打乱的顺序来发牌。

/*#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>typedef struct chuc
{char huase[10];//花色char paimian[10];//牌面
}CHUC;void fapai(CHUC p[],int arc[]);//发牌函数
void baoc(CHUC p[]);//保存52张扑克牌
void XIPAI1(int arc[]);//按新排顺序排列
void XIPAI(int arg[]);//洗牌程序int main(void)
{CHUC p[52];//存储扑克牌int arc[52];//存储新牌baoc(p);//调用函数保存扑克牌XIPAI1(arc);//存储新牌顺序fapai(p,arc);//调用函数进行发牌XIPAI(arc);printf("洗牌后----------------------------------------------------------------------------\n");fapai(p,arc);//调用函数进行发牌return 0;
}
void baoc(CHUC p[])//保存52张扑克牌
{char *HUASHE[] = { "黑桃", "梅花", "方格", "红桃" };char *PAIMIAN[] = { "A","2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King" };int i;for (i = 0; i < 52; i++){strcpy(p[i].huase, HUASHE[i / 13]);strcpy(p[i].paimian, (PAIMIAN[i % 13]));}
}
void fapai(CHUC p[],int arc[])//发牌函数
{int i;int count = 0;for (i = 0; i < 52; i++){printf("%s%s  ", p[arc[i]].huase, p[arc[i]].paimian);count++;if (count % 13 == 0&&count!=0)printf("\n\n");}}
void XIPAI1(int arc[])//按新排顺序排列
{int i;for (i = 0; i < 52; i++)arc[i] = i;
}
void XIPAI(int arg[])//洗牌程序
{int i, j, step;srand(time(NULL));for (i = 0; i < 52; i++){j = rand() % 52;step = arg[i];arg[i] = arg[j];arg[j] = step;}
}
*/

这个是程序运行之后的结构

更多推荐

怎么样编写一个扑克牌发牌函数

本文发布于:2024-02-27 00:29:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1704552.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:扑克牌   函数

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!