分享
 
 
 

模拟三张牌游戏

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

摸拟三张牌游戏,利用两个类,一个“打牌者”,一副“牌”,很方便的模拟三张牌游戏,可以设定玩牌的人数,也可以设定玩的副数,在此基础上,可以很方便的作出各种玩牌的游戏来!

两个类的源代码:

#pragma once

#include "vector"

using namespace std;

typedef vector<int>vectorint;

class pukepai

{

int paicount;

vector <int> puke;

vector <int>::iterator vi;

void pukepai::shuzhi();

char xianshizifu[8];

//int xianshishuzhi[3];

void paixianshi(char *paimian);

int paizhi;

public:

int pukepai::chupai(char *);

pukepai(void);

~pukepai(void);

};

//“牌”的成员函数

#include "stdafx.h"

#include "time.h"

#include ".\pukepai.h"

pukepai::pukepai(void)//初始化一副牌

{

paizhi=-1;

paicount=52;

//sort(vecTestScore.begin(), vecTestScore.end());

// &vecTestScore.size=9;

puke.assign(52,1);

for (vi=puke.begin()+1; vi != puke.end(); vi++)

*vi=*(vi-1)+1;

}

void pukepai::shuzhi()//赋值给牌面,然后删除摸到了的牌

{

paicount--;

paizhi=*vi;

puke.erase(vi);

}

void pukepai::paixianshi(char *paimian)//以日常所见的方式,返回一个牌色和牌面

{

char buf[32]="黑桃 ";

if(paizhi>13&&paizhi<27)

{paizhi=paizhi-13;

strcpy(buf,"红桃 ");

}

if(paizhi>26&&paizhi<40)

{paizhi=paizhi-26;

strcpy(buf,"方块 ");

}

if(paizhi>39&&paizhi<53)

{paizhi=paizhi-39;

strcpy(buf,"草花 ");

}

if(paizhi>10||paizhi==1)

{

if(paizhi==11)

strcat(buf,"J");

if(paizhi==12)

strcat(buf,"Q");

if(paizhi==13)

strcat(buf,"K");

if(paizhi==1)

strcat(buf,"A");

}

else

{

itoa(paizhi,xianshizifu,10);

strcat(buf,xianshizifu);

}

if(paimian!=NULL)

strcpy(paimian,buf);

}

int pukepai::chupai(char *paimian)//进行抽牌

{ if(paicount==0)//如果一副牌已经摸完了

{

return -1;

}

vi=puke.begin();

vi+=rand()%paicount;//随机摸牌

shuzhi();//看摸中了哪个,并且删除那张牌

paixianshi(paimian);//返回摸中的牌色和牌面

return paizhi;

}

pukepai::~pukepai(void)

{

}

//“打牌者”的头文件

#pragma once

class mopai

{

public:

int pai1;

char buf1[8];

int pai2;

char buf2[8];

int pai3;

char buf3[8];

int leixing();

};

//“打牌者”的成员函数

#include "stdafx.h"

#include ".\mopai.h"

int mopai::leixing()

{int tonghuaflag=0;

char buftemp1[8]="";

char buftemp2[8]="";

char buftemp3[8]="";

int temp=0,temp1=0,temp2=0,temp3=0;

temp1=pai1;//把三张牌赋给三个临时变量

temp2=pai2;

temp3=pai3;

if(temp1<temp2)

{temp=temp2;//确保第一个临时变量是最大的那种牌

temp2=temp1;

temp1=temp;}

if(temp1<temp3)

{temp=temp3;//确保第一个临时变量是最大的那种牌

temp3=temp1;

temp1=temp;}

if(temp2<temp3)

{temp=temp3;//确保第二个临时变量是第二大的那种牌

temp3=temp2;

temp2=temp;}

strncpy(buftemp1,buf1,strlen("黑桃"));

strncpy(buftemp2,buf2,strlen("黑桃"));

strncpy(buftemp3,buf3,strlen("黑桃"));

if(strcmp(buftemp1,buftemp2)==0&&strcmp(buftemp2,buftemp3)==0)

{tonghuaflag=1;}//摸到了同花,不返回,继续判断,看是否属于同花顺

if((temp1-temp2==1)&&(temp2-temp3==1))//如果三张牌依次递减,说明符合同花顺的基本规则

{

if(tonghuaflag==1)

{

return 1;//摸到了同花顺

}

else

{

return 2;//摸到了顺子

}

}

if(tonghuaflag==1)//如果上面没返回,则这里返回同花

return 3;

if(temp1==temp2&&temp2==temp3)//如果三张牌同牌面,不同花色,属于三个头

return 0;

if(temp1==temp2||temp2==temp3||temp1==temp3)

return 4;//摸到了一对

return -1;//既不属于同花顺,也不属于三个头

}

//完整代码下载:

http://www.cfxy.net/bbs/viewFile.asp?Boardid=46&ID=370

有空欢迎到www.cfxy.net交流

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有