当前位置:文档之家› C++课程设计点纸牌游戏程序

C++课程设计点纸牌游戏程序

void Game::BET()//下注
{
system("cls");//执行系统命令cls
cout<<"\t\t\t你的资本:$"<<money<<endl;
cout<<"\t\t\t你想下多少赌注?: ";
cin>>bet;
if(bet<=0)
{
cout<<"对不起,输入有误";
exit(0);
}
else
{
if(cards==0.5)
player-=cards;
{
cout<<"你的现金还有$"<<money<<endl;
cout<<"你要加多少注?(你也可以不加)";
cin>>bet1;
if(money-bet1<0)
{
cout<<"你没有足够的赌注";
}
money=money-bet1;
bet+=bet1;
cout<<"\t\t\t你的总点数为 :"<<player<<endl;
int win,lose,draw,bet;
float player,cpu;
char answer[7];
char daan[7];
};
//---------------------------------------------------------------------------------------
cout<<"\t\t\t ※④:胜利者将得到2倍的注金。"<<endl;
cout<<"\t\t\t ※⑤:庄家牌点数不会小于16点。"<<endl;
cout<<"\t\t\t";
pause();
}
//---------------------------------------------------------------------------------------
}
if(money-bet<0)
{
cout<<"对不起,你没有那么多钱!:("; //sees if your broke
ቤተ መጻሕፍቲ ባይዱexit(0);
}
money-=bet;
}
//----------------------------------------------------------------------------------------
void Game::deal()//发前两张牌
{
int playercard1,playercard2,cpucard1,cpucard2;
float ccard1,ccard2,pcard2,pcard1;
playerturns=2;//开始给玩家发两张牌
cputurns=2;//庄家也发两张牌
void Game::wait(int milli)
{
clock_t start;
start=clock();
while( ( clock()-start ) < milli )
;
}
//=========================================================
cout<<"["<<playercard2<<"]";
if(playercard1>10)//大于十的牌点数全部置为0.5
{
pcard1=0.5,player=pcard1,playercard1=0;
}
if(playercard2>10)//大于十的牌点数全部置为0.5
{
pcard2=0.5,player+=pcard2,playercard2=0;
{
cout<<"\t\t\t你不能多于5张牌!"<<endl;
}
}
if((playerturns<6)&&(ans=='h'))
{
cout<<endl;
c2.hit1();
}
}while((ans=='h')||(ans=='H'));
for(;(cpu<16)&&(cputurns<6);cputurns++)
void run(Game &);//进行异常处理
void hit1();//拿下一张牌
void hit2();//确保庄家不会爆庄并且点数大于16
void print();//打印出最后结果
void results();//最后的胜利结果
void check();//检查是否爆庄
Game operator=(Game &d);//运算符重载
do{
if(playerturns==5)cout<<"已达最大牌数,不能再要牌了,请按任意键看你的总的点数!"<<endl;
do{
try{ //开始捕获异常处理
cout<<"\t\t\t你愿意继续吗?(hit愿意,stay否):";
m=0; //可以没有的!但把下面的if语句改一下就必须有了
cout<<flush;//刷新流
cout<<endl;
c2.results(); //看你是否赢了
c2.replay(ans);
}while((ans=='y')||(ans=='Y'));
}
void Game::hit1()//取下一张并把它加入总和
{
int card=0,copycard=0,bet1=0;
float cards=0;
{
int ent;
cout<<"Please Enter A Number Between "<<L<<" and "<<H<<endl;
cin>>ent;
while((ent<L)||(ent>H))
{
cout<<"Error"<<endl;
cout<<"Value must be between "<<L<< " and "<<H<<endl;
cout<<"请输入特别玩家的6位密码:";
cin.getline(s1,7);//提取密码
if(!strcmp(s1,answer))
{
cout<<"\t\t\t这张牌是:"<<copycard<<endl;
cout<<"是否加注(y or n)?\n";
cin>>ans;
if(ans=='y'||ans=='Y')
}
player+=playercard1+playercard2;//总点数
cout<<"\t\t\t你现在的点数为:"<<player<<endl;
cout<<endl;
cpucard1=random(13,1);//调用函数
wait(350);
cpucard2=random(13,1);//调用函数
{
ccard2=0.5,cpu+=ccard2,cpucard2=0;
}
cpu+=cpucard1+cpucard2;//总的点数
cout<<endl;
}
//----------------------------------------------------------------------------------------
playercard1=random(13,1);//在1到13中找出一个随机数
cout<<"\n\t\t\t正在洗牌,请稍候......"<<endl;
wait(500);
playercard2=random(13,1);
wait(500);
cout<<"["<<playercard1<<"]";
cin>>ans;
cin.ignore(20,'\n');//把输入行中的其余字符取空,以便后面的输入从新一轮开始
if((ans=='h')||(ans=='H')||(ans=='s')||(ans=='S')) break;
else throw ans;//产生异常事件
}
catch(char)//开始处理异常机制
{
cout<<"你的输入有误!:(请重新输入"<<endl;
相关主题