




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文想详细给出了扑克牌的C+程序并实现我们常玩的就是没人三张牌比大小,规则是同花顺最大,一次是炸弹、顺子、同花、对子、单张。单张A最大,以下是C+程序:/ DeckOfCards.h#ifndef DECKOFCARDS_H#define DECKOFCARDS_Hclass DeckOfCardspublic:DeckOfCards();void deal();void shullfe();void getValue(); / 计算得分int getsameColour();/ 同花int getStraigh(); / 顺子 int getStraightAndColoursOrNot()
2、; / 同花顺 或非同花 非顺子int getPairOrsameValue(); / 对子 或炸弹void output();private:int Deck413;int colourA;int colourB;int colourC;int colourD;#endif/ DeckOfCards.cpp / ½Ìѵ Ö»Òª²»ÊÇvoidÀàÐͺ¯Êý±ØÐ
3、;ëÓзµ»ØÖµ£¬×¢Ò⣺intÀàÐÍ Ä¬ÈÏ·µ»ØÖµÎª1#include<iostream>using std:cout;using std:endl;using std:left;using std:right;#include<
4、;iomanip>using std:setw;#include<cstdlib>/ using std:rand;/ using std:srand; #include<ctime>/ using std:time;#include"DeckOfCards.h"static int get23=0;static int number=0;static int straigh=0;static int sameColour=0;static int getScore2=0,0;static int sameValue=0;DeckOfCards
5、:DeckOfCards()for(int row=0;row<4;row+)for(int column=0;column<13;column+)Deckrowcolumn=0;/*static int get23;for(int i=0;i<2;i+)for(int j=0;j<3;j+)getij=0;*/for(int j=0;j<=1;j+)getScorej=0;srand(time(0); void DeckOfCards:shullfe()int row;int column;for(int card=1;card<=52;card+)dor
6、ow=rand() %4 ;column=rand() % 13;while(Deckrowcolumn !=0);Deckrowcolumn=card;void DeckOfCards:deal()static const int face13=1,2,3,4,5,6,7,8,9,10,11,12,13;static const char *suit4="A","B","C","D"number=0;for(int i=0;i<=1;i+)int count=0; colourA=0; colourB=0;
7、 colourC=0; colourD=0;if(i=0)cout<<" Player A:"<<endl;elsecout<<" Player B:"<<endl;for(int card=1+i*3;card<=3+i*3;card+)for(int row=0;row<4;row+)for(int column=0;column<13;column+)if(Deckrowcolumn=card)cout<<" "cout<<setw(3)&
8、lt;<right<<suitrow<<setw(3)<<right<<facecolumn <<(card %3=0)? 'n':'t');geticount=facecolumn;count+;switch(*suitrow)case 'A':colourA+;break;case 'B':colourB+;break;case 'C':colourC+;break;case 'D':colourD+;break; cout<
9、;<endl;cout<<" "<<"colourA="<<colourA<<endl;cout<<" "<<"colourB="<<colourB<<endl;cout<<" "<<"colourC="<<colourC<<endl;cout<<" "<<"colourD=
10、"<<colourD<<endl;cout<<endl;getValue();number+;/ cout<<endl;output(); void DeckOfCards:getValue() / ¼ÆËãµÃ·ÖgetScorenumber+=getStraigh(); / ˳×ÓgetScorenumber+=getsameColour();/ ͬ»¨getScoren
11、umber+=getStraightAndColoursOrNot(); / ͬ»¨Ë³ »ò·Çͬ»¨ ·Ç˳×ÓgetScorenumber+=getPairOrsameValue(); / ¶Ô×Ó »òÕ¨µ¯cout<<" "<<"
12、;getScore "<<getScorenumber<<endl<<endl;cout<<"getStraigh()="<<getStraigh()<<endl;cout<<"getsameColour()="<<getsameColour()<<endl;cout<<"getStraightAndColoursOrNot()="<<getStraightAndColoursOrNot()&l
13、t;<endl;cout<<"getPairOrsameValue()="<<getPairOrsameValue()<<endl;int DeckOfCards:getStraigh() / ÊÇ·ñΪ˳×Óint t;for(int i=0;i<=1;i+)for(int j=0;j<=1-i;j+)if(getnumberj>getnumberj+1) / t=getnumberj;getnumberj=g
14、etnumberj+1; getnumberj+1=t;for(int m=0;m<=2;m+)cout<<" "<<getnumberm<<" "cout<<endl;if(getnumber2-getnumber1)=1 && (getnumber1-getnumber0)=1) straigh=1;cout<<"straigh="<<straigh<<endl;return 0;else if(getnumber0=1 &a
15、mp;& getnumber1=12 && getnumber2=13)straigh=1;cout<<"straigh"<<straigh<<endl;return 0;elsereturn 0;int DeckOfCards:getsameColour() / ÊÇ·ñΪͬ»¨int a=colourA+1;int b=colourB+1;int c=colourC+1;int d=colourD+1;if(
16、a*b*c*d)=4 && getnumber0=1)sameColour=1; cout<<"sameColour="<<sameColour<<endl; return 0;else if(a*b*c*d)=4 && getnumber0!=1) sameColour=1; cout<<"sameColour"<<sameColour<<endl; return 0; elsereturn 0;int DeckOfCards:getStraight
17、AndColoursOrNot() / ͬ»¨Ë³ »òͬ»¨ »ò˳×Óif(sameColour+straigh=2) && (getnumber0=1 && getnumber1=12 && getnumber2=13) / ×î´óµÄͬ»¨Ë&
18、#179; 12·Öcout<<"The largest StraightAndColours sameColour straigh "<<endl;return 12;else if(sameColour+straigh=2) && (getnumber2-getnumber0=2 ) )/ ͬ»¨Ë³ 11·Öcout<<"StraightAndColours,not the largest one same
19、Colour straigh"<<endl;return 11;else if(sameColour=1)&&getnumber0=1) / ͬ»¨ ÓÐA ²»Ë³ 6·Öcout<<"Only have the same colour sameColour"<<endl;return 6;else if(sameColour=1)&&getnumber0!=1) /
20、05;¬»¨ ÎÞA ²»Ë³ 5·Öcout<<"Only have the same colour sameColour NO A"<<endl;return 5;else if(straigh=1)&&(getnumber0=1 && getnumber1=12 && getnumber2=13) / ×î´óµÄË
21、179;×Ó ·Çͬ»¨ 8·Öcout<<"The largest straigh,not have the same colour straigh "<<endl;return 8;else if(straigh=1)&&(getnumber2-getnumber0=2) / ÆÕͨµÄ˳×Ó ·ÇÍ
22、;¬»¨ 7·Öcout<<"The usually straigh,not have the same colour straigh NOT 1 12 13 "<<endl;return 7;else return 0;int DeckOfCards:getPairOrsameValue() / ¶Ô×Ó »òÕ¨µ¯if (getnumber0=getnumber1 && getnu
23、mber0=getnumber2 && getnumber1=1) / ÈýÕÅA AAA µÄ10·Öcout<<"The three cards have the same value "<<endl;sameValue=1;return 10;else if(getnumber0=getnumber1 && getnumber0=getnumber2 && getnumber1!=1) / Èý
24、213;ÅÏàͬ ²»ÊÇAAA 9·Öcout<<"The three cards have the same value,not A A A"<<endl;sameValue=1;return 9;else if(getnumber0=getnumber1 | getnumber1=getnumber2 )&& getnumber1=1) / ×î´óµÄ
25、82;Ô×Ó AA 4·Öcout<<"The largest pair:A A"<<endl;return 4;else if(getnumber0=getnumber1 | getnumber1=getnumber2) && getnumber1!=1) / ÆÕͨµÄ¶Ô×Ó ·ÇAA 3·Öcout<<"Pair,n
26、ot the largest ,NOT A A"<<endl;return 3;else if(sameColour+straigh=0)&&getnumber0=1) / Ö»ÓÐÒ»¸öA 2·Öcout<<"Bad,not the worest,only have a A"<<endl;return 2;else if(sameColour+straigh=0)&&getnumber0!=1)
27、 / ûÓÐA 1·Öcout<<"Bad,maybe the worest,not have A"<<endl;return 1;elsereturn 0;void DeckOfCards:output()if( getScore0>getScore1)cout<<"Player A Win the game"<<endl;else if(getScore0<getScore1)cout<<"Player B
28、Win the game"<<endl; / ÔÚ µÃ·ÖÏàͬµÄÇé¿öÏ ²»¿ÉÄܶ¼µÃ10·Ö else if(getScore0=getScore1 && (getScore0=1 | getScore0=5) / ͬ
29、»¨»ò·Çͬ»¨ ×î´óµÄ¶¼²»ÊÇAif(get02>get12)cout<<"Player A Win the game"<<endl;else if(get02<get12)cout<<"Player B Win the game"<<endl;else if(g
30、et01>get11) cout<<"Player A Win the game"<<endl;else if(get01<get11)cout<<"Player B Win the game"<<endl;else if(get00>get10) cout<<"Player A Win the game"<<endl;else if(get00<get10)cout<<"Player B Win the game&q
31、uot;<<endl;elsecout<<"A and B are EQUAL"<<endl;else if(getScore0=getScore1 && (getScore0=2 | getScore0=6) / ͬ»¨»ò·Çͬ»¨ ¶¼ÓÐÒ»ÕÅAif(get01>get11)cout<<&quo
32、t;Player A Win the game"<<endl;else if(get01<get11)cout<<"Player B Win the game"<<endl;else if(get00>get10) cout<<"Player A Win the game"<<endl;else if(get00<get10)cout<<"Player B Win the game"<<endl;elsecout<&l
33、t;"A and B are EQUAL"<<endl;else if(getScore0=getScore1 && getScore0=3) / ¶¼ÓÐÒ»¶Ô µ«²»ÊÇAAif(get01>get11)cout<<"Player A Win the game"<<endl;else if(get01<get11) cout<<&qu
34、ot;Player B Win the game"<<endl;else if(get00+get01+get02) >( get10+get11+get12)cout<<"Player A Win the game"<<endl;else if(get00+get01+get02) <( get10+get11+get12)cout<<"Player B Win the game"<<endl;elsecout<<"A and B are EQUAL
35、"<<endl;else if(getScore0=getScore1 && getScore0=4) / ¶¼ÓÐÒ»¶ÔAA if(get00+get01+get02) >( get10+get11+get12)cout<<"Player A Win the game"<<endl;else if(get00+get01+get02) <( get10+get11+get12)cout<<"Player B Win the game"<<endl;elsecout<<"A and B are EQUAL"<<endl;else if(getScore0=getScore1 && (getScore0=7 | getScore0=8 /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 巴彦淖尔市2024年数学三上期末学业质量监测模拟试题含解析
- 2025届谢家集区数学三年级第一学期期末复习检测试题含解析
- 2025年工程项目管理深度复习试题及答案
- 2025年中级经济师备考计划与试题及答案
- 水利水电工程续建技术试题及答案
- 2025年经济法考试重点知识分类试题及答案
- 小学生理卫生教育
- 幼儿园节日教育课程介绍
- 农业综合开发利用合同协议书
- 食品饮料生产流程及品质管理预案
- 1学会尊重-尊重自己(说课稿 )-2023-2024学年道德与法治六年级下册统编版
- 会计案例分析-终结性考核-国开(SC)-参考资料
- 装饰材料供应合同模板
- 2020-2021学年人教部编版八年级道德与法治下册 第一课 维护宪法权威 练习题
- 建筑垃圾清运优化方案
- GB/T 33629-2024风能发电系统雷电防护
- 《n次方根与分数指数幂》名师课件
- 安装调试费合同
- 2024年贵州卷新高考物理试题真题及答案详解(精校打印版)
- 第15章 群众与公民
- 2024年云南省盘龙区中考一模考试数学试题
评论
0/150
提交评论