模拟人工发牌

模拟人工发牌

ID:20406944

大小:132.50 KB

页数:26页

时间:2018-10-09

模拟人工发牌_第1页
模拟人工发牌_第2页
模拟人工发牌_第3页
模拟人工发牌_第4页
模拟人工发牌_第5页
资源描述:

《模拟人工发牌》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、模拟人工发牌[说明]用计算机模拟发牌程序。假设一副扑克牌有52张,共4个玩家,编写程序统计出各玩家手里拿的牌的牌面(牌面包括纸牌的大小和花色)。[设计要求]要求使用C或C++语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。[提示]定义一个4行13列的整数类型的二维数组,每一行分别表示一种花色:黑桃、红桃、草花、方块。每一列分别表示A到K共十三个牌点。数组各元素的初始值为0,表示还没有发牌。然后给每个数组元素赋予1到4之间的随机数,表示这张牌随机地发给某个玩家。例如第一行第七列的元素,表示黑桃7,其值为2,表示这张牌发给了第2个玩家。

2、依此类推。计算机专业课程设计大纲一、课程设计的目的与要求1.设计目的本课程设计是学生学完计算机专业课程之后,进行的一次全面的综合训练。通过课程设计,使学生能更好地理解计算机核心课程(包括程序设计、数据结构、数据库、计算机网络等)的相关原理和思想和方法,并能利用这些原理、思想和方法来解决实际问题,强化了学生的动手能力。2.设计要求(1)以教研室为单位根据课程设计的内容要求收集课程设计的题目及相关要求。(2)组织学生选择合适的课题,同时根据学生选择情况由各教研室安排指导老师。(3)设计完成后,由教研室根据情况进行设计验收。(4)要求写出一份详细的课程设计报告,并提交相关软件。二、设计报告的内

3、容(1)设计思想主要包括对设计课题的理解和总体的设计思路与方法。对课题的理解:模拟人工发牌是把52张扑克牌随机的发到四个玩家手上,最后统计出四个玩家手上拿的牌,包括牌面的花色和大小。而课题主要问题就是如何做到随机性发牌给四个玩家,所以课题要解决的就是要做到随机性的发牌给四个玩家并且每个玩家有且只有13张牌。设计思想与方法:1.52张牌可以分为四种花色和每种花色有13张从小到到大的牌,因此可以用一个整数类型的4*13的二维数组来模拟这52张牌,数组的每一行分别代表一种花色,数组的每一列分别代表A到K共13张牌点,这样就模拟出来了这52张牌。而这个二维数组的每个元素的值就是用来存放该牌发给了

4、哪个玩家,例如:a[1][4]=1,表示方块5发给了第一位玩家,以此类推。而数组初始化给每个元素的值都设置为0,表示该牌还没有发到任何一个玩家手上。2.随机发牌:如何随机把这52张牌随机发给四个玩家,我的想法是利用C语言里的随机函数rand()随机抽取二维数组里的一个元素,接着判断这个被随机抽取出来的元素是否已经属于某个玩家,即该元素的值是否等于0,如果不等于0,则继续随机抽取另外一个元素。否则,赋予这个元素的值为某个玩家,并且设置一个计数器Z,用来统计该玩家当前有多少张牌,当Z>=13后就停止给该玩家发牌。这样就完成了给一个玩家发牌。循环四次则把52张牌随机的发给了四个玩家。3.统计玩

5、家的牌:就是输出四个玩家手中的牌(包括牌面的花色和大小),即把二维数组每个元素按值的不同分类输出,把元素的值相等的输出在一起,这样就统计了四个玩家手中的牌。(1)设计程序的源代码给出程序源代码,需有详细的注释(包括结构、变量的定义等)。如果程序太长,指导教师可以要求学生提供主要部分的程序。(2)程序流程图给出设计模块的程序流程图,如果模块过多,指导教师可以要求学生提供主要模块的程序流程图。(3)设计总结由学生总结课程设计的收获,包括学到知识、遇到的问题、解决的方法等,其中重点总结学生自己有所创新或思考的地方。一般应要求不少于500字。#include#include<

6、stdio.h>#include#include#include//#define_HIDEstruct_Poker{charcolor;intnum;};voidclrscr();voidgotoxy(int,int);voidsetrgb(int);voidsortplcard(struct_Poker*);voiduprintplcard(struct_Poker*,int);voiddprintplcard(struct_Poker*,int);voidlprintplcard(struct_Poker*,int);void

7、rprintplcard(struct_Poker*,int);voiduoutcard(struct_Poker*,int*,int);voidloutcard(struct_Poker*,int*,int);voidroutcard(struct_Poker*,int*,int);voidirturn(struct_Poker*);voidcomturn(struct_Poker*,int);voiddelplcard(stru

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。