拿高分求一个C++游戏源代码急~ ~

21扑克游戏

# include & ltctime & gt

//# include & lt;stdio & gt

# include & ltiostream & gt

//# include & lt;stdlib & gt

# include & ltconio.h & gt

使用命名空间std

//定义扑克类

班级游戏

{

私人:

int胜,输,平,钱;

int bet,playerturns,cputurns

浮点播放器,cpu,卡;//在这里,CARD在与BET交换数据时会发出警告,可以定义一个INT类型的avoidance。

字符标志;

公共:

game();

无效结果(浮动玩家,浮动cpu,int bet,int & amp货币、利息和利息。画,int & ampwins,int & amp输);

void wait(int milli);

void符号();

无效特殊(浮动& amp播放器,浮动& ampCPU);

void规则();

void pause();

随机浮动(长高,长低);

作废打印(int赢,int输,int抽,int钱);

无效重放(字符& amp旗帜);

无效命中(浮动& amp合计);

无效结果(浮点型玩家,积分cpu,积分bet,积分& amp货币、利息和利息。画,int & amp赢,国际和国内。输);

无效赌注(利息和费用;赌注、利息和佣金。钱);

无效交易(浮动& amp播放器,浮动& ampcpu,int & ampplayerturns,int & ampcputurns);

无效交易2(浮动& amp播放器,浮动& ampcpu,int & ampplayerturns,int & ampcputurns);

void ask();

};

// -

//完成虚函数

游戏::游戏()

{

wins = 0;

lose = 0;

draw = 0;

钱= 0;

玩家= 0.0;

cpu = 0.0

赌注= 0;

player turns = 0;

CPU turns = 0;

卡= 0;

flag = ' a

}

// -

void game::rules()

{

cout & lt& lt" \ t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * " & lt;& ltendl

cout & lt& lt" \ t * \ t \ t欢迎来玩这个扑克游戏\ t \ t \ t * " & lt& ltendl

cout & lt& lt" \ t * \ t \ t \规则如下\ t \ t * " < & ltendl

cout & lt& lt" \ t * \ t \ t1:您的牌不能超过5张。\ t \ t \ t * " & lt& ltendl

cout & lt& lt" \t*\t\t 2:您可以添加赌注。\ t \ t \ t * " & lt& ltendl

cout & lt& lt" \ t * \ t \ t3:同意按y,\ t \ t \ t \ t \ * " & lt& ltendl

cout & lt& lt" \ t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * " & lt;& ltendl

cout & lt& lt”\ t \ t \ t”;

pause();//在这里暂停几秒钟

ask();

}

// -

void游戏::ask()

{

cout & lt& ltendl & lt& ltendl

cout & lt& lt" \ t \ t \ t您想玩这个游戏吗?"& lt& ltendl

CIN & gt;& gt旗帜;

If((flag=='y')||(flag=='Y')) //判断是否进入游戏。

{

cout & lt& lt" \ t \ t \您将有100元开始此游戏" < & ltendl

钱= 100;//设置初始赌注

cout & lt& lt”\ t \ t \ t”;

pause();

}

else出口(1);

赌注(赌注,钱);

deal(播放器、cpu、playerturns、CPU turns);//开始处理

}

// -

赌博(int & amp赌注、利息和佣金。钱)

{

int符号;

系统(“cls”);

如果(钱& lt=0)

{

cout & lt& lt\ t \ t \您没有赌注,请关闭并重新开始。endl

退出(1);

}

cout & lt& lt" \ t \ t \您有:"

cout & lt& lt" \ t \ t \您想赌多少:";

Do{ //判断输入的赌注是否正确。

符号= 0;

CIN & gt;& gt下注;

if((bet & lt;0)& amp;& amp(bet *-1 & lt;=钱))

{

bet = bet *-1;

打破;

}

else if((bet & gt;0)& amp;& amp(bet & lt=钱))

打破;

其他

{

cout & lt& lt"输入错误,请重新输入:";

sign = 1;

}

} while(sign = 1);

金钱=金钱-赌注;

}

// -

无效游戏::交易(浮动& amp播放器,浮动& ampcpu,int & ampplayerturns,int & ampcputurns)

{

float playercard1,playercard2,cpucard1,cpucard2

player turns = 2;

cputurns = 2;

player card 1 = random(13,1);//开始用随机数分牌。

cout & lt& lt" \ n \ t \ t \正在处理"

等待(350);

playercard2=random(13,1);

等等(150);

cpucard1=random(13,1);

等待(350);

cpucard2=random(13,1);

if(player card 1 & gt;=10)

{

player card 1 = 0.5;

}

if(player card 2 & gt;=10)

{

playercard2 = 0.5

}

if(CPU card 1 & gt;=10)

{

CPU card 1 = 0.5;

}

if(CPU card 2 & gt;=10)

{

cpucard2 = 0.5

}

player = player card 1+player card 2;

CPU = CPU card 1+CPU card 2;

cout & lt& lt"您的观点是:"

cout & lt& lt“你的两张卡是”;

cout & lt& lt"[" & lt;& lt玩家卡1 & lt;& lt"]";

cout & lt& lt"[" & lt;& ltplayercard2 & lt& lt"]";

cout & lt& ltendl

cout & lt& lt" \ t \ t \计算机有一个"

cout & lt& ltendl

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

cout & lt& lt"[*]" & lt;& lt"[" & lt;& ltCPU card 1 & lt;& lt"]" & lt;& ltendl

deal2(播放器、cpu、playerturns、CPU turns);//调用发牌函数

}

// -

deal2(浮动& amp播放器,浮动& ampcpu,int & ampplayerturns,int & ampcputurns)

{

做{

cout & lt& lt" \ t \ t \ t您想继续要卡吗?";

CIN & gt;& gt旗帜;

if(((flag = = ' O ')| |(flag = = ' O ')& amp;& amp(playerturns & lt5)) //判断是否是进阶玩家。

{

{

卡=随机(13,1);

if(card & gt;10)

{

卡= 0.5;

}

cout & lt& lt" \ t \ t \下一张卡是:"

cout & lt& lt" \ t \ t \ t您想要这张卡吗?(输入p继续要卡)”

CIN & gt;& gt旗帜;

if((flag=='p')||(flag=='P '))

{

player turns++;

玩家=玩家+卡;

cout & lt& lt\ t \ t \您目前的分数是:“< & ltplayer & lt& ltendl

}

if(player turns & gt;=5)

{

cout & lt& lt\ t \ t \ t \您已经有五张牌了,所以您不能再要牌了。endl打破;

}

} while(flag = = ' p ');

}

else if((flag = = ' y ')| |(flag = = ' y '))//在这里设定普通玩家。

{

player turns++;

if(player & gt;21)

{

cout & lt& lt”\ t \ t \你打破了银行,你输了”;

输++了;

重播(标志);

}

if(player turns & gt;5)

{

cout & lt& lt\ t \ t \您已经拿到了五张牌,所以您不能再要牌了。endl打破;

}

else if((player turns & lt;6)& amp;& amp((flag=='y')||(flag=='Y '))

{

cout & lt& ltendl

hit(播放器);

}

}

} while((flag = = ' Y ')| |(flag = = ' Y '));

cout & lt& lt" \ t \ t \ t您想下更多赌注吗?"& lt& ltendl//询问是否需要多下注。

CIN & gt;& gt旗帜;

if((flag=='y')||(flag=='Y '))

{

cout & lt& lt" \ t \ t \请输入您要添加的赌注:";

做{

CIN & gt;& gt卡;

If(money==0) //判断是否可以追加投注。

{

cout & lt& lt\ t \ t \您没有下注,计算机开始要求出牌。& lt& ltendl

打破;

}

如果((卡)& gt钱)

{

cout & lt& lt" \t\t\t您的赌注不够。"& lt& ltendl

cout & lt& lt" \ t \ t \请输入0到"

}

}while((卡)& gt钱);

赌注=赌注+牌;

钱=钱卡;

}

for(;(cpu & lt16);& amp(cputurns & lt5);Cputurns++) //授权计算机

{

cout & lt& ltendl

cout & lt& lt" \ t \ t \计算机要求卡" < & ltendl

hit(CPU);

if(CPU & gt;21)

{

CPU = CPU-卡;

打破;

}

}

cout & lt& ltendl

cout & lt& ltendl

cout & lt& lt" \ t \ t \计算机上的卡数是:"

cout & lt& lt"您的观点是:"

cout & lt& ltendl

如果(((player & lt= 21);& amp(cpu & lt= 21)) ||(玩家转数= = 6) || (CPU转数= = 5))//特殊判断

{

特殊(播放器、CPU);

}

结果(玩家、cpu、赌注、金钱、平局、赢、输);

重播(标志);

打印(赢、输、平、钱);

cout & lt& ltendl

}

// -

虚空游戏::击中(浮动& amp合计)//卡片功能

{

浮动卡;

卡=随机(13,1);

if(card & gt;=10)

{

卡= 0.5;

}

合计=合计+卡;

cout & lt& lt" \ t \ t \您想要的卡是:"

cout & lt& lt" \ t \ t \ tThe总点数为:"

}

// -

void游戏::暂停()

{

cout & lt& lt"按任意键继续"

getch();

}

// -

void游戏::wait(int milli)

{

clock _ t start//及时调用函数。H

start =时钟();

while((clock()-start)& lt;毫)

}

// -

Floatgame:: random (long high,long low)//获取随机数。

{

浮然;

srand((无符号)时间(空));

ran= rand()%(高-(低-1))+低;

返回(冉);

}

// -

无效游戏::重播(字符& amp旗帜)

{

cout & lt& lt" \ n \ t \ t \ t您想继续玩这个游戏吗:";

CIN & gt;& gt旗帜;

while((flag = = ' y ')| |(flag = = ' y '))//在这里设置游戏循环。

{

赌注(赌注,钱);

deal(播放器、cpu、playerturns、CPU turns);

}

打印(赢、输、平、钱);

}

// -

Voidgame:: print (int wins,int lose,int draw,int money)//输出结果。

{

cout & lt& lt" \ t \ t \ tWin:" < & lt;wins & lt& ltendl

cout & lt& lt\ t \ t \ t lose:“< & lt;lose & lt& ltendl

cout & lt& lt" t \ t \ t \ t并且:"

cout & lt& lt" \ t \ t \剩余的钱数:" < & lt金钱& lt& ltendl

sign();

}

// -

结果(浮动玩家,浮动cpu,int bet,int & amp货币、利息和利息。画,int & ampwins,int & amp输)

{

If(cpu==player) //输出结果。

{

cout & lt& lt\ t \ t \点数相同时,庄家获胜。endl

draw++;

}

if(player & gt;21)

{

cout & lt& lt" \ t \ t \你已经倾家荡产了,加油" < & ltendl

输++了;

}

其他

{

如果(cpu & lt玩家)

{

cout & lt& lt\n\t\t\t祝贺您,您赢了”;

钱=钱+(赌注* 2);

wins++;

}

}

if(CPU & gt;21)

{

cout & lt& lt\ t \ t \来吧,银行家" < & ltendl

if(player & lt;21)

{

cout & lt& lt”\n\t\t\t你赢了”;

wins++;

钱=钱+(赌注* 2);

}

}

其他

{

if(CPU & gt;玩家)

{

cout & lt& lt" \ t \ t \您输了" < & ltendl

输++了;

}

}

}

// -

void游戏::sign()

{

cout & lt& lt" \ n \ n \ n \ n \ t \ t新手第一次写,多指教" < & ltendl

退出(1);

}

// -

特别的(浮动& amp播放器,浮动& ampcpu)

/*如果五张牌不超过21,对手没有拿到五张牌,那就是赢。如果两个玩家都有五张牌却没有。

如果有超过21的点数,点数少的获胜。*/

{

如果((player & lt= 21);& amp(cpu & lt= 21);& amp(player turns = = 6)& amp;& amp(cputurns & lt5))

{

cout & lt& lt\n\t\t\t祝贺您,您赢了”;

钱=钱+(赌注* 2);

wins++;

}

如果((player & lt= 21);& amp(cpu & lt= 21);& amp(playerturns & lt6)& amp;& amp(cputurns==5))

{

cout & lt& lt" \ t \ t \您输了" < & ltendl

输++了;

}

如果((player & lt= 21);& amp(cpu & lt= 21);& amp(player turns = = 6)& amp;& amp(cputurns==5))

{

if(player & lt;cpu)

{

cout & lt& lt\n\t\t\t祝贺您,您赢了”;

钱=钱+(赌注* 2);

wins++;

}

其他

{

cout & lt& lt" \ t \ t \您输了" < & ltendl

输++了;

}

}

重播(标志);

}

// -

void main()

{

游戏卡牌;

deck . rules();

}

// -