扑克牌游戏代码.doc_第1页
扑克牌游戏代码.doc_第2页
扑克牌游戏代码.doc_第3页
扑克牌游戏代码.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

include #include #include using namespace std; namespace variable int used; static int i; namespace array int used27=0; /*自定义函数部分*/ void drawline(int n)/画线函数 if(n=1) cout-; else cout-; /打印版权信息嘿嘿自己写的程序标个版权 void printcopy() int short_line(1); drawline(short_line); coutCopyright(c) SehDan.Lee; drawline(short_line); coutendl; /函数:为名为poker的string类型数组赋初值,作用:生成一副扑克牌 void push_poker(string *str,int len) string list15; for(int i=3;i18;i+) switch(i) case 10:listi-3=10;break; case 11:listi-3=J;break; case 12:listi-3=Q;break; case 13:listi-3=K;break; case 14:listi-3=A;break; case 15:listi-3=2;break; case 16:listi-3=KING2;break; case 17:listi-3=KING1;break; default:listi-3=i+48; string type4=a,b,c,d; i=0; for(int j=0;j13;j+) for(int k=0;k4;k+) *(str+i)=typek+-+listj; i+; for(i=0;i2;i+) *(str+len+i-2)=listi+13; /函数:检测生成的扑克牌是否已被使用 int chk_used(int *p,int i) for(int j=0;j27;j+) if(*(p+j)=i) return 1; break; return 0; /函数:标记已使用的扑克牌 void used(int *p,int i) *(p+variable:i)=i; variable:i+; /数组置零 void set_int_array(int *p,int len) for(int i=0;ilen;i+) *(p+i)=0; /抽取扑克 void set_poker(string *str,string *p_poker,int n) for(int i=0;in;i+)/随机抽取n张牌 srand(unsigned)time(NULL);/以系统时间为种子,产生不同的随机值 variable:used=rand()%54; while(chk_used(array:used,variable:used)=1)variable:used=rand()%54;/确保产生不重复的随机值 used(array:used,variable:used);/标记产生的随机值,确保下次不再出现 *(p_poker+i)=*(str+variable:used); variable:i=0; set_int_array(array:used,27); /出题函数 void print_area(string *str,int times,int row,int row_2,int *r) int p_row,i,n_list27=0; for(i=0;i27;i+) n_listi=i; if(times!=1) /接下来处理第一次收集的row信息 int t; for(i=0;i3;i+) t=n_listi; n_listi=n_list(row-1)*9+i; n_list(row-1)*9+i=t; for(i=0;i3;i+) t=n_listi+12; n_listi+12=n_list(row-1)*9+i+3; n_list(row-1)*9+i+3=t; for(i=0;i3;i+) t=n_listi+24; n_listi+24=n_list(row-1)*9+i+6; n_list(row-1)*9+i+6=t; /第二次收集到的row信息(row_2) if(times=3) for(i=0;i3;i+) t=n_list(row_2-1)*12+i; n_list(row_2-1)*12+i=n_listi*9; n_listi*9=t; for(i=0;i27;i+) *(r+i)=n_listi; for(i=0;i27;i+) if(i%9=0) coutendlLine i/9+1:; cout.width(8); cout*(str+n_listi); coutendl; /*主函数*/ void main() int again=1; int times,row,row_2,row_last,r27,long_line=0; string poker54,p_poker27; push_poker(poker,54); while(again) times=1,row=0,row_2=0,row_last=0; printcopy(); set_poker(poker,p_poker,27); while(times!=4) drawline(long_line); print_area(p_poker,times,row,row_2,r); drawline(long_line); coutendl; if(!row) coutRemember a card,and tell me what line it reside in(1/2/3):; else coutrow; else if(!row_2) cinrow_2; times+; int final; cinfinal; draw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论