C++课程设计报告---21点纸牌游戏程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#include
#include
#include
#include
class Game
{
public:
Game()
{
win=0,lose=0,draw=0,playerturns=0,cputurns=0,money=100,bet=0;
player=0,cpu=0;
char answer1[]="123456";
strcpy(answer,answer1);
char answer2[]="654321";
strcpy(daan,answer2);
};
void rules();//显示规则
void BET(); //下注
void deal();//交易
void run(Game &);//进行异常处理
void hit1();//拿下一牌
void hit2();//确保庄家不会爆庄并且点数大于16
void print();//打印出最后结果
void results();//最后的胜利结果
void check();//检查是否爆庄
Game operator=(Game &d);//运算符重载
void replay(char &ans);//是否进行新一轮的游戏
void clean();//清屏
void wait(int);
void pause();
int GetInt(int,int);
int random(long,long);
private:
int playerturns,cputurns,money;
int win,lose,draw,bet;
float player,cpu;
char answer[7];
char daan[7];
};
//---------------------------------------------------------------------------------------
void Game::wait(int milli)
{
clock_t start;
start=clock();
while( ( clock()-start ) < milli )
;
}
//========================================================= void Game:: pause()
{
cout<<"Press Any Key To Continue"< getch(); } //========================================================= int Game::GetInt(int L=0,int H=100) { int ent; cout<<"Please Enter A Number Between "< cin>>ent; while((ent { cout<<"Error"< cout<<"Value must be between "< cin>>ent; } return(ent); } //========================================================== int Game::random(long hi,long lo)//随机抽牌 { int ran; srand((unsigned)time(NULL)); ran=rand()%(hi-(lo-1))+lo; return(ran); } //============================================================= void Game::rules() { cout<<"\t\t\t *********欢迎使用21点游戏软件*********"< cout< cout< cout<<"\t\t\t 游戏规则:"< cout< cout<<"\t\t\t ※①:每轮游戏你最多只可以有5牌。"< cout<<"\t\t\t ※②:如果你的点数超过21将输掉这轮游戏。"< cout<<"\t\t\t ※③:高级玩家可以看下一牌。"< cout<<"\t\t\t ※④:胜利者将得到2倍的注金。"< cout<<"\t\t\t ※⑤:庄家牌点数不会小于16点。"< cout<<"\t\t\t"; pause(); } //--------------------------------------------------------------------------------------- void Game::BET()//下注 { system("cls");//执行系统命令cls cout<<"\t\t\t你的资本:$"< cout<<"\t\t\t你想下多少赌注?: "; cin>>bet; if(bet<=0) { cout<<"对不起,输入有误"; exit(0); } 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;//庄家也发两牌 playercard1=random(13,1);//在1到13中找出一个随机数 cout<<"\n\t\t\t正在洗牌,请稍候......"< wait(500); playercard2=random(13,1); wait(500); cout<<"["< cout<<"["< if(playercard1>10)//大于十的牌点数全部置为0.5 { pcard1=0.5,player=pcard1,playercard1=0;