高分跪求C++语言设计的对抗游戏完整剧情程序。

#包括“iostream”

#包含“math.h”

#包含" stdlib.h "

#包括“ctime”

使用命名空间std

int标志;

CCard类

{ int nCard1,nCard2//两张卡

静态int nLoop//打出的牌数,给出游戏结束时打出的总牌数。

int nScore//总分

int nWin,nLose

静态nDraw//赢、输、平的次数

int nBet//下注

公共:

int Bet

CCard();//构造函数

int SetCard();//打两张牌

void Show();//显示卡点数

int add bet(int);//增加赌注,失败则返回0。

无效的朋友比较(CCard & amp,CCard & amp);//Friend函数,比较卡点大小并显示结果。

无效的朋友显示结果(CCard & amp,CCard & amp);//友函数,输出输赢结果和最终积分。

};

int CCard::nDraw = 0;

int CCard::n loop = 0;

CCard::CCard(){ ns core = 20;

Bet = nScore

nWin = 0;

nLose = 0;

nBet = 0;

}

int CCard::set card(){ for(int I = 0;我& lt=100000000;i++);

srand((无符号)time(0));

ncard 1 =(rand()% 13+1);

ncard 2 =(rand()% 13+1);

返回ncard 1;}

void CCard::Show()

{

if(ncard 1 & gt;1。& ampncard 1 & lt;= 10)cout & lt;& ltncard 1 & lt;& lt" ";

else开关(nCard1){

案例1:{ ncard 1 = 1;cout & lt& lt" A " & lt& lt" ";打破;}

案例11:{ cout & lt;& lt" J " & lt& lt" ";打破;}

案例12:{ cout & lt;& lt“Q”& lt;& lt" ";打破;}

案例13:{ cout & lt;& lt“K”& lt;& lt" ";}

}

if(ncard 2 & gt;1。& ampnCard2 & lt=10)

cout & lt& ltnCard2 & lt& lt" ";

else开关(nCard2){

案例1:{ ncard 2 = 1;cout & lt& lt" A " & lt& lt" ";打破;}

案例11:{ cout & lt;& lt" J " & lt& lt" ";打破;}

案例12:{ cout & lt;& lt“Q”& lt;& lt" ";打破;}

案例13:{ cout & lt;& lt“K”& lt;& lt" ";} }

cout & lt& ltendl

} int CCard::add bet(int a){ nBet = a;

if(nBet & gt;nScore | | nBet & lt1){ return 0;}

返回1;

}

无效比较(CCard & amp用户,CCard & amp计算机){

if((user . ncard 1 = = user . ncard 2)& amp;& amp(computer.nCard1!=computer.nCard2))

{

user . ns core+= computer . nbet;computer . ns core-= computer . nbet;

user . nloop++;

computer . nloop++;

user . nwin++;

computer . nlose++;

用户。bet = user . ns core;

电脑。Bet = computer.nScore

if(computer . ns core & lt;=0)

{ShowResult(用户,计算机);返回;} cout & lt& lt“玩家赢了这场游戏,请继续努力”< & ltendl

}

else if((user.nCard1!= user . ncard 2)& amp;& amp(computer . ncard 1 = = computer . ncard 2))

{

computer . ns core+= user . nbet;

user . ns core-= user . nbet;

user . nloop++;

computer . nloop++;

computer . nwin++;

user . nlose++;

用户。bet = user . ns core;

电脑。Bet = computer.nScore

if(user . ns core & lt;=0)

{ShowResult(用户,计算机);返回;}

cout & lt& lt“可惜电脑赢了这场比赛~”& lt;& ltendl

}

其他

{

if((user . ncard 1+user . ncard 2)>;(computer . ncard 1+computer . ncard 2))

{ user . ns core+= computer . nbet;computer . ns core-= computer . nbet;

user . nloop++;

computer . nloop++;

user . nwin++;

computer . nlose++;

用户。bet = user . ns core;

电脑。Bet = computer.nScore

if(computer . ns core & lt;=0)

{ShowResult(用户,计算机);返回;} cout & lt& lt“玩家赢了这场游戏,请继续努力”< & ltendl

}

else if((user . ncard 1+user . ncard 2)& lt;(computer . ncard 1+computer . ncard 2)){

computer . ns core+= user . nbet;

user . ns core-= user . nbet;

user . nloop++;

computer . nloop++;

computer . nwin++;

user . nlose++;

用户。bet = user . ns core;

电脑。Bet = computer.nScore

if(user . ns core & lt;=0)

{ShowResult(用户,计算机);返回;}

cout & lt& lt“可惜电脑赢了这场比赛~”& lt;& ltendl

}

其他

{ cout & lt& lt“画”

user . nloop++;computer . ndraw++;

}

}

}

void显示结果(CCard & amp用户,CCard & amp电脑)

{

cout & lt& lt“——游戏结束!结果:-”

if(user . ns core & lt;= 0)cout & lt;& lt“电脑赢了,玩家努力!”& lt& ltendl

else cout & lt& lt“恭喜玩家赢了!”& lt& ltendl

cout & lt& lt"出牌数:" < & ltuser.nLoop & lt& ltendl

cout & lt& lt"玩家点数:"

cout & lt& lt"玩家赢的次数:"

cout & lt& lt"玩家输的次数:"

cout & lt& lt"玩家平手的次数:"

cout & lt& lt"计算机集成:"

cout & lt& lt"计算机获胜的数量:"

cout & lt& lt"计算机负时间:"

cout & lt& lt"计算机调配的数量:"

cout & lt& lt“-”& lt;& ltendl

flag = 1;

user . nloop = 0;

user . ndraw = 0;

cout & lt& lt“游戏结束,按任意键退出”< & ltendl系统(“暂停”);

}

void main()

{

选择:

flag = 0;

int start,ucard,ccard,bet,cont,sel = 1;//sel=0,玩家下注,sel=1,第一注算//牌。

char ch

CCard用户,计算机;

cout & lt& lt要开始游戏,请按1

bing in:if(flag = = 1){ system(" cls ");

转到选择;

}

CIN & gt;& gt开始;

开关(启动){

案例1:{ cout & lt;& lt“开始发牌吧,期待……”;

用户。SetCard();

ucard =用户。SetCard();

电脑。SetCard();

电脑。SetCard();

打破;

}

案例0:{退出(0);} } cout & lt& ltendl

cout & lt& lt“你的第一张牌是”

if(ucard & lt;= 10 & amp;& ampucard & gt1)cout & lt;& ltucard

否则{

交换机(ucard){

案例1:cout & lt;& lt“一”;

打破;

案例11:cout & lt;& lt“J”;

打破;

案例12:cout & lt;& lt“问”;

打破;

案例13:cout & lt;& lt“K”;

}

} cout & lt& ltendl

cout & lt& lt"是否选择下注:"

CIN & gt;& gtcont

开关(续){

案例0:{ sel = 0;

转到nextplayer}

}

cout & lt& lt“你还有”

bet:cout & lt;& lt“请下注”

CIN & gt;& gt下注;

if(bet & gt;5)

{

cout & lt& lt“请不要下注超过5,再试一次”< & ltendl

goto bet

}

如果(!(用户。打赌& amp& amp电脑。AddBet(bet)))

{

cout & lt& lt“下注超过0哟,再试一次”< & ltendl

goto bet

}

nextplayer: if(sel==0){

开关(卡){

案例14:{ bet = 5;打破;}

案例13:{ bet = 3;打破;}

案例12:{ bet = 2;打破;}

案例11:{ bet = 1;打破;}

案例10:{ bet = 4;打破;}

情况9:{ bet = 1;打破;}

情况8:{ bet = 3;打破;}

情况7:{ bet = 4;打破;}

情况6:{ bet = 5;打破;}

情况五:{ bet = 1;打破;}

情况四:{ bet = 5;打破;}

情况三:{ bet = 2;打破;}

情况二:{ bet = 3;打破;}

}

而(!(用户。打赌& amp& amp电脑。AddBet(bet)))

{ bet-;}

cout & lt& lt“电脑下注”

CIN & gt;& gtch;

开关(通道){

案例“Y”:{ }

案例“y”:{

打破;}

案例“N”:{ }

案例' n ':

cout & lt& lt“请选择1继续游戏,按0退出游戏”< & ltendl

sel = 1;

goto bingin

打破;

}

}

sel = 1;

}

cout & lt& lt“下注成功”

cout & lt& lt"请选择1继续"

cout & lt& lt“请选择0放弃”

scanf("%d ",& ampcont);

开关(续){

案例1:{

cout & lt& lt"玩家的卡是:"

用户。show();

cout & lt& lt“电脑的卡是”

电脑。show();

打破;}

案例0:{

cout & lt& lt"请选择1重新开始"

cout & lt& lt“如果不想玩,请选择0”& lt;& ltendl

goto bingin

打破;}

}

比较(用户、电脑);

cout & lt& lt"重新开始选择1 "

cout & lt& lt“如果不想玩,请选择0”& lt;& ltendl

goto bingin}