資源簡介
南京理工大學的C++課程設計,學弟學妹們有福了!
代碼片段和文件信息
#include
#include
#include
#include?“utility.h“
#include??“wait.h“
//fuctions
class?Game
{
public:
?Game()//初始構造函數
?{
??win=0lose=0draw=0playerturns=0cputurns=0money=100bet=0;
??player=0cpu=0;
??char?answer1[]=“999999999“;
??strcpy(answeranswer1);
?};
?????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();//清屏
private:
?int?playerturnscputurnsmoney;
?int?winlosedrawbet;
?float?playercpu;
?char?answer[10];
};
//---------------------------------------------------------------------------------------
void?Game::rules()//讓玩家了解游戲規則
{
cout<<“\t\t\t?☆*********歡迎來到刺激好玩的21點游戲*********☆“< cout< cout< ????cout<<“\t\t\t?★★★★★這里是一些簡單的游戲規則:★★★★★“< 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)
????????{
????????bet=bet*-1;
????????}
money-=bet;
}
//----------------------------------------------------------------------------------------
void?Game::deal()//發前兩張牌
{
int?playercard1playercard2cpucard1cpucard2;
float?ccard1ccard2pcard2pcard1;
playerturns=2;//開始給玩家發兩張牌
cputurns=2;//莊家也發兩張牌
playercard1=random(131);//在1到13中找出一個隨機數
cout<<“\n\t\t\t正在洗牌,請稍候......“< wait(350);
playercard2=random(131);
wait(150);
cout<<“[“<yercard1<<“]“;
cout<<“[“<yercard2<<“]“;
????if(playercard1>10)//大于十的牌點數全部置為0.5
{
pcard1=0.5player=pcard1playercard1=0;
}
if(playercard2>10)//大于十的牌點數全部置為0.5
{
pcard2=0.5player+=pcard2playercard2=0;
}
player+=playercard1+playercard2;//總點數
cout<<“\t\t\t☆你現在的點數為:“<yer< cout< cpucard1=random(131);//調用函數
wait(350);
cpucard2=random(131);//調用函數
cout<<“\t\t\t☆莊家有一張?“< cout<<“[*]?“<<“?[“< if(cpucard1>10)//大于十的牌點數全部置為0.5
{
ccard1=0.5cpu=ccard1cpucard1=0;
}
if(cpucard2>10)//大于十的牌點數全部置為0.5
{
ccard2=0.5cpu+=ccard2cpucard2=0;
}
cpu+=cpucard1+cpucard2;//總的點數
cout<
}????
//----------------------------------------------------------------------------------------
void?Game::run(Game?&c2)//進行異常處理
{
?????char?ans;
?????do{
?int?m=0;
system(“cls“);//執行系統命令cls
c2.clean();//進行新的一輪游戲!
????????c2.check();//檢驗是否爆莊
????????c2.BET();?//進
評論
共有 條評論