




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include #include #include #include #include #include class Playing_Card private:int m_Value;char m_Face3; char m_Suit ; public:Playing_Card();void showcard();void Card_Make(int);class Deckprivate:Playing_Card m_cardarray54;int m_lastdelt;public:Deck();void MakeDeck();void Deal_One();void ShowDeck();void DeckShuff(int);void Remove_Card();void Senddeck();void Program_Init();int main();void Center_Text(char );int get_number();char Get_Key();void DeckMakeDriver();int getRandInt(int min, int max); void prog_close();int main()srand( (unsigned)time( NULL ) ); int Card_Number = 0; Program_Init(); DeckMakeDriver();prog_close();/退出return 1;Playing_Card:Playing_Card() int i;for(i=1;i=3;)m_Facei = ;i+;m_Suit = ;m_Value = 0;/*void Program_Init()/显示初始界面Center_Text(C+课程设计实验报告);cout endl;coutendl;Center_Text(扑克牌相关);cout endl n ; coutendl;Center_Text(设计:郇志伟); cout endl n ;coutendl;Center_Text(2006-9-20);cout endl n ;Center_Text(Hit the key to Continue.);cin.get();/*char Get_Key()char x;x = cin.get();cout endl;return x;void Playing_Card:showcard()cout ;cout m_Face ;cout.width(1);cout m_Suit;cout ;/*void Center_Text(char ShellText80)int length;int center;length= strlen(ShellText);center = (80 - length)/2;for(;center!=0;center-)cputs( );cputs(ShellText); int get_number()int Input_Integer = 0;Center_Text(Please enter an integer between 0 and 53. 54to quit.);cout Input_Integer;return Input_Integer;/*void Playing_Card:Card_Make(int num)int i = 0;char j;if(num=53)strcpy(m_Face,jo);m_Suit=2;m_Value=15;if(num=52)strcpy(m_Face,jo);m_Suit=1;m_Value=14; if(num=51) int face_num = num % 13;switch(face_num) case 0: strcpy(m_Face, A);break; case 9: strcpy(m_Face,10);break; case 10: strcpy(m_Face, J);break; case 11: strcpy(m_Face, Q);break; case 12: strcpy(m_Face, K);break; default: j = char(face_num + 49); if(i3) m_Facei = ; i+; m_Facei = j;i+; m_Facei = NULL; break; if(num 12 & num 25 & num 38 & num = 51)m_Suit = 4; if(face_num = 10)m_Value = 10;/*void DeckMakeDriver() Deck deck_1; deck_1.MakeDeck();/创建一副扑克deck_1.ShowDeck();/显示一副扑克Get_Key();deck_1.DeckShuff(250);/洗牌 deck_1.ShowDeck();/显示一副扑克Get_Key();deck_1.Senddeck();/依次分发给4个人并显示Get_Key();cout endl endl endl;char y;dodeck_1.Deal_One();/删除一张牌cout endl;cout endl endl Y to Deal One more N to quit y;y = toupper(y);while(y = Y );/*void Deck:MakeDeck()/创建一副扑克m_lastdelt = 53;while(m_lastdelt -1)m_cardarraym_lastdelt.Card_Make(m_lastdelt); m_lastdelt-; /*void Deck:ShowDeck() /显示一副扑克int index = m_lastdelt + 1;int newline = 0;Center_Text(Current Deck of Cards from top to bottom);cout endl;while(index=53)if(newline % 11= 0) cout endl;m_cardarrayindex.showcard();newline+;index+;coutendl;/*int getRandInt(int min, int max)int numToReturn;numToReturn = rand();numToReturn = numToReturn % (max - min + 1) + min; return numToReturn;/*void Deck:DeckShuff( int times) /洗牌 int x, split; Center_Text(Shuffling Deck);cout endl;for(x=0;x=times;x+)split = getRandInt(20,35);Deck topdeck;Deck bottomdeck;int i;int bottomdeckindex = 1;int topdeckindex = 1;for(i=0;im_cardarrayi;topdeckindex+;i+;for(i=(split);im_cardarrayi;bottomdeckindex+;i+;int deckoutindex = 0;int numcardstomovetop;int numcardstomovebottom;int j;int h = 0;bottomdeckindex = 54 - split;topdeckindex =split;while(deckoutindex = 53)numcardstomovetop = getRandInt(2,7); numcardstomovebottom = getRandInt(2,7); for(j=0;j 0) this-m_cardarraydeckoutindex = bottomdeck.m_cardarraybottomdeckindex;deckoutindex+;bottomdeckindex-;for(h=0;h 0) & (deckoutindex m_cardarraydeckoutindex=topdeck.m_cardarraytopdeckindex;deckoutindex+;topdeckindex-;this-m_lastdelt = -1;/*void Deck:Senddeck()/依次分发给4个人并显示 int m_player,n_player;int player1=0,player2=0,player3=0,player4=0;this-m_lastdelt=53;Playing_Card playeri214;Playing_Card playerj213; int time=0;while(timem_cardarraym_lastdelt;m_player+;player1+;m_lastdelt-; playerim_playerplayer2=this-m_cardarraym_lastdelt;player2+;m_lastdelt-;playerjn_playerplayer3=this-m_cardarraym_lastdelt;n_player+;player3+;m_lastdelt-;playerjn_playerplayer4=this-m_cardarraym_lastdelt;player4+;m_lastdelt-;time+; playeri013=this-m_cardarray1; playeri113=this-m_cardarray0; for(int i=0;i=3;i+)coutplayeri+1:;if(i=1) for(int j=0;j=13;j+) playeriij.showcard();elsefor(int j=0;j=12;j+) playerji-2j.showcard(); coutn;/*void prog_close()/退出cout endl endl;cout Hit the key to Continue. endl;cout endl endl;Get_Key();cin.get();/*void Deck:Remove_Card()/删除一张牌。m_cardarraym_lastdelt= Playing_Card();int k=53,j=0;/*void Deck:Deal_One() j+;int i=0;int cardnum1,cardnum2;int num=1;if(k0)cout Out of range Error;else m_lastdelt=getRandInt(0,k); cardnum1=m_lastdelt; cardnum2=m_lastdelt; Deck deck1;coutcard delt; m_cardarraym_lastdelt.showcard(); coutn; cardnum2+; while(cardnum2m_cardarraycardnum2; i+;cardnum2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肿瘤专科护士门诊介绍
- 幼儿园毕业班教育教学
- 护理饼图的制作
- 职业技能面试
- 弱电设计年终工作总结
- 农机报废流程规范与实施
- 缩短句子的技巧与方法
- 湘教版高中必修一课程解读
- 幼儿园肺炎防控知识培训
- 直销业务培训
- 2025年黑龙江省龙东地区中考数学试卷
- 学堂在线 公共管理学 章节测试答案
- 2025年中国数据库市场研究报告
- 2024年包头市公安局招聘专职留置看护警务辅助人员笔试真题
- 【9语安徽中考卷】2025年安徽省中考招生考试真题语文试卷(真题+答案)
- 矿产资源国际合作-洞察及研究
- 【课件】无脊椎动物+第2课时课件-2024-2025学年人教版生物七年级上册
- 2025年凉山州昭觉县选聘社区工作者题库带答案分析
- 2025国开《调剂学(本)》形考任务1234答案
- 2025年员工持股平台合伙协议
- 2024-2025学年下学期初中道德与法治七年级期末复习试卷(含答案)
评论
0/150
提交评论