扑克牌游戏C++程序实现Word文档格式.docx
《扑克牌游戏C++程序实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《扑克牌游戏C++程序实现Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
Ê
Ç
voidÀ
à
Ð
Í
º
¯
ý
±
Ø
ë
Ó
·
Ö
£
¬
×
¢
â
intÀ
Ä
È
Ï
Î
1
#include<
iostream>
usingstd:
:
cout;
endl;
left;
right;
iomanip>
setw;
cstdlib>
//usingstd:
rand;
srand;
#include<
ctime>
time;
#include"
DeckOfCards.h"
staticintget[2][3]={0};
staticintnumber=0;
staticintstraigh=0;
staticintsameColour=0;
staticintgetScore[2]={0,0};
staticintsameValue=0;
DeckOfCards:
DeckOfCards()
for(introw=0;
row<
4;
row++)
{
for(intcolumn=0;
column<
13;
column++)
{
Deck[row][column]=0;
}
}
/*
staticintget[2][3];
for(inti=0;
i<
2;
i++)
for(intj=0;
j<
3;
j++)
get[i][j]=0;
*/
for(intj=0;
=1;
getScore[j]=0;
srand(time(0));
}
voidDeckOfCards:
shullfe()
introw;
intcolumn;
for(intcard=1;
card<
=52;
card++)
do
row=rand()%4;
column=rand()%13;
}while(Deck[row][column]!
=0);
Deck[row][column]=card;
deal()
staticconstintface[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};
staticconstchar*suit[4]={"
A"
"
B"
C"
D"
number=0;
intcount=0;
colourA=0;
colourB=0;
colourC=0;
colourD=0;
if(i==0)
cout<
<
"
PlayerA:
else
PlayerB:
for(intcard=1+i*3;
=3+i*3;
for(introw=0;
{
for(intcolumn=0;
{
if(Deck[row][column]==card)
{
cout<
"
;
setw(3)<
right<
suit[row]<
face[column]
<
((card%3==0)?
'
\n'
'
\t'
);
get[i][count]=face[column];
count++;
switch(*suit[row])
{
case'
A'
colourA++;
break;
B'
colourB++;
C'
colourC++;
D'
colourD++;
}
}
}
}
cout<
cout<
colourA="
colourA<
colourB="
colourB<
colourC="
colourC<
colourD="
colourD<
getValue();
number++;
//cout<
output();
getValue()//¼
Æ
Ë
ã
Ã
getScore[number]+=getStraigh();
//Ë
³
getScore[number]+=getsameColour();
//Í
¨
getScore[number]+=getStraightAndColoursOrNot();
//Í
»
ò
·
getScore[number]+=getPairOrsameValue();
//¶
Ô
Õ
getScore"
getScore[number]<
endl<
getStraigh()="
getStraigh()<
getsameColour()="
getsameColour()<
getStraightAndColoursOrNot()="
getStraightAndColoursOrNot()<
getPairOrsameValue()="
getPairOrsameValue()<
intDeckOfCards:
getStraigh()//Ê
ñ
intt;
=1-i;
if(get[number][j]>
get[number][j+1])//
t=get[number][j];
get[number][j]=get[number][j+1];
get[number][j+1]=t;
for(intm=0;
m<
=2;
m++)
get[number][m]<
if((get[number][2]-get[number][1])==1&
&
(get[number][1]-get[number][0])==1)
straigh=1;
straigh="
straigh<
return0;
elseif(get[number][0]==1&
get[number][1]==12&
get[number][2]==13)
straigh=1;
straigh"
getsameColour()//Ê
inta=colourA+1;
intb=colourB+1;
intc=colourC+1;
intd=colourD+1;
if((a*b*c*d)==4&
get[number][0]==1)
sameColour=1;
sameColour="
sameColour<
return0;
elseif((a*b*c*d)==4&
get[number][0]!
=1)
sameColour"
return0;
}
else
getStraightAndColoursOrNot()//Í
if((sameColour+straigh==2)&
(get[number][0]==1&
get[number][2]==13))//×
î
´
ó
Ä
12·
ThelargestStraightAndColourssameColourstraigh"
return12;
elseif((sameColour+straigh==2)&
(get[number][2]-get[number][0]==2))//Í
11·
StraightAndColours,notthelargestonesameColourstraigh"
return11;
elseif((sameColour==1)&
get[number][0]==1)//Í
Ó
A²
6·
OnlyhavethesamecoloursameColour"
return6;
get[number][0]!
=1)//Í
Î
Þ
5·
OnlyhavethesamecoloursameColourNOA"
return5;
elseif((straigh==1)&
(get[number][0]==1&
8·
Thelargeststraigh,nothavethesamecolourstraigh"
return8;
(get[number][2]-get[number][0]==2))//Æ
7·
Theusuallystraigh,nothavethesamecolourstraighNOT11213"
return7;
else
getPairOrsameValue()//¶
if(get[number][0]==get[number][1]&
get[number][0]==get[number][2]&
get[number][1]==1)//È
Å
AAAAµ
10·
Thethreecardshavethesamevalue"
sameValue=1;
return10;
elseif(get[number][0]==get[number][1]&
get[number][1]!
=1)//È
²
AAA9·
Thethreecardshavethesamevalue,notAAA"
return9;
elseif((get[number][0]==get[number][1]||get[number][1]==get[number][2])&
get[number][1]==1)//×
¶
AA4·
Thelargestpair:
AA"
return4;
elseif((get[number][0]==get[number][1]||get[number][1]==get[number][2])&
=1)//Æ
AA3·
Pair,notthelargest,NOTAA"
return3;
elseif((sameColour+straigh==0)&
get[number][0]==1)//Ö
¸
ö
A2·
Bad,nottheworest,onlyhaveaA"
return2;
=1)//Ã
A1·
Bad,maybetheworest,nothaveA"
return1;
output()
if(getScore[0]>
getScore[1])
PlayerAWinthegame"
elseif(getScore[0]<
PlayerBWinthegame"
//Ô
Ú
µ
é
¿
Â
É
Ü
¼
elseif(getScore[0]==getScore[1]&
(getScore[0]==1||getScore[0]==5))//Í
×
A
if(get[0][2]>
get[1][2])
elseif(get[0][2]<
elseif(get[0][1]>
get[1][1])
elseif(get[0][1]<
elseif(get[0][0]>
get[1][0])
elseif(get[0][0]<
AandBareEQUAL"
(getScore[0]==2||getScore[0]==6))//Í
¶
if(get[0][1]>
getScore[0]==3)//¶
«
AA
elseif((get[0][0]+get[0][1]+get[0][2])>
(get[1][0]+get[1][1]+get[1][2]))
elseif((get[0][0]+get[0][1]+get[0][2])<
getScore[0]==4)//¶
AA
if((get[0][0]+get[0][1]+get[0][2])>
(getScore[0]==7||getScore[0]==8//¶
||getScore[0]==11||getScore[0]==12))
if((get[0][0]+get[0][1]+get[0][2]==26)&
(get[1][0]+get[1][1]+get[1][2]!
=26))
elseif((get[0][0]+get[0][1]+get[0][2]!
=26)&
(get[1][0]+get[1][1]+get[1][2]==26))
elseif((get[0][0]+get[0][1]+get[0][2]==26)&
elseif((getScore[0]==getScore[1])&
(getScore[0]==9))//¶
if(get[0][0]>
//main.cpp
intmain()
DeckOfCard