




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学驾照软件试题及答案
- 深圳护师考试试题及答案
- 基础拼音试题及答案
- 门窗培训考试题及答案
- 中医临床三基(医技)临床基础知识考试题库 (含答案)
- 树洞秘密课件
- 数字化物流商业运营 习题答案-模块2
- 2025年夹具厂家供货合同范文大全
- 2025年材料员网络培训考试题库及答案
- 北京安全应急知识培训中心课件
- 幼儿园物资报损管理制度
- 【9语安徽中考卷】2025年安徽省中考招生考试真题语文试卷(真题+答案)
- 《人工智能概论-面向通识课程》全套教学课件
- 三区人才面试题及答案大全
- 2024年云南师范大学辅导员考试真题
- 巷道掘进与顶板管理培训课件
- 方案1-绿化养护费用计算清单
- (正确)新入场人员一级安全教育考试试卷(含答案)
- 2025年牙医资格证技能试题及答案
- 初中道德与法治跨学科项目化学习的设计与实施讲座提纲
- DG-TG08-12-2024 普通中小学建设标准
评论
0/150
提交评论