拿高分求一个C++游戏源代码急~ ~
# 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();
}
// -