- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
珠海学院
课 程 设 计 报 告
学院、系: 吉林大学珠海学院计算机科学与技术系 专业名称: 设计科目 学生姓名: 指导教师: 完成时间: 2015年5月5日
扑克牌洗牌发牌过程模拟
编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。对每个人的牌要按桥牌的规则输出。即一个人的牌要先按牌的花色(顺序为梅花、方块、红心和黑桃)进行分类,同一类的牌要再按A、K、Q、J、…、3、2牌的大小顺序排列。另发牌应按四个人的顺序依次分发。
设计任务与目标
学习方案设计与论证
colour PX[])。牌的显示包括花色和数字。用switch函数把原来的flag和value成员赋值给ASCFlag和ASCValue成员,让ASCFlag和ASCValue成员打印出ASCII码花色和符号。
1.2.5
设置四个数组A[u],?B[u],?C[u],?D[u]来分别表示四个人的牌。然后模拟出52张牌。(2)洗牌。(3)发牌:发牌时是根据顺序轮流分给四个人?(4)排序。将牌发好之后再根据排序函数分别对四个人的牌进行花色和大小的排序。(5)输出。即用print函数将牌输出。结束。
1.3 程序框图或流程图,程序清单与调用关系
全部源程序清单
//
#include stdafx.h
#includecstdlib
#includestring
#includetime.h
#includeiostream
using namespace std;
typedef class CARD
{
public:
int flag; //扑克的类型
int value; //扑克编号
string ASCFlag; //用ASCII码表示扑克花印
string ASCValue; //表示扑克符号
}Card;
class pu_ke
{
public:
pu_ke(); //初始化扑克
void shuffle(); //洗牌
void deal(); //扑克分牌
void sort(Card PX[]); //排序扑克
void colour(Card PX[]); //給扑克印色
void print(); //扑克输出
Card P1[13],P2[13],P3[13],P4[13];
private:
Card P[52];
Card swap;
};
pu_ke::pu_ke() //初始化扑克
{
int Flags[4]={1, 2, 3,4};
int Value[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};
for(int i=0;i13;i++)
{
P[i].flag = Flags[0];
P[i].value = Value[i];
}
for(int i=13;i26;i++)
{
static int temp0=0;
P[i].flag = Flags[1];
P[i].value = Value[temp0++];
}
for(int i=26;i39;i++)
{
static int temp1=0;
P[i].flag = Flags[2];
P[i].value = Value[temp1++];
}
for(int i=39;i52;i++)
{
static int temp2=0;
P[i].flag = Flags[3];
P[i].value = Value[temp2++];
}
}
void pu_ke::shuffle() //交换下标数组
{
int index;
int value;
srand((int)time(0));
/* 每次发牌的时候任意分配待交换的数据 */
for(index = 0; index 52; index ++){
value = rand() % 52;
swap = P[index];
P[index] = P[value];
P[value] = swap;
}
}
void pu_ke::deal() //发牌
{
for(int i=0,j=0;i52;i++,j++)
{
P1[j] = P[i++];
P2[j] = P[i++];
P3[j] = P[i++];
P4[j] = P[i];
}
}
void pu_ke::colour(Card
原创力文档


文档评论(0)