資源簡介
C++ 21點撲克牌游戲

代碼片段和文件信息
?/*經典伙拼21點撲克牌游戲*/
#include
#include
#include??????????????//本程序所包含的頭文件
#include
#include
#include
int?all=0;?????????????????????//全局變量,用存放賭本之和
class?CCard{???????????????????//定義的類
??public:??????????????????????//公有成員
int?nNumber;????????????//實際發了多少牌
int?nRMB;???????????????//擁有的錢數
int?nGamble;????????????//賭注
int?nWin;???????????????//贏局數
int?nLose;??????????????//輸局數
int?nDraw;??????????????//平局數
float?nTotal;???????????//當前總牌點數
float?card1card2;??????//最初兩張牌
????CCard(float?playerint?winint?loseint?drawint?playerturnsint?moneyint?bet)
{
nNumber=playerturns;
nRMB=money;
nGamble=bet;
nWin=win;?????????????????????//構造函數,初始化變量
nLose=lose;
nDraw=draw;
nTotal=player;
}
int?random(long?hilong?lo);???????//產生隨機數
void?wait(int?milli);??????????????//延時函數
void?pause();??????????????????????//暫停函數
int?password();????????????????????//用于讀取密碼????????????????
void?rules();??????????????????????//顯示比賽規則的函數??
void?Bet(CCard?&);?????????????????//下注函數
void?deal(CCard?&);????????????????//發最初兩張牌函數
void?hit(CCard?&);?????????????????//發牌函數??
void?results(CCard?&aCCard?&b);???//統計結果
char?replay();?????????????????????//詢問是否再玩一盤??
void?print(CCard?&);???????????????//打印結果
void?vipplayer(CCard?&a);??????????//高級玩家
????void?superplayer(CCard?&aCCard?&b);//超級玩家
};
void??CCard::wait(int?milli)????????????//延時函數
{
clock_t?start;
start=clock();
while((clock()-start) }
void?CCard::pause()??????????????????????//暫停函數??????????????
{
cout<<“任按一鍵繼續“< getch();
}
void?CCard::rules()???????????????????????//定義比賽規則
{
cout<<“\t\t\t以下是本游戲的規則“< cout<<“\t(1)\t您最多只能擁有5張牌;“< cout<<“\t(2)\t如果您拒絕首輪要牌,系統將自動判您為輸并退出;“< cout<<“\t(3)\t您必須在每次要牌前下注;“< cout<<“\t(4)\t每次要牌后您有機會加注;“< cout<<“\t(5)\t對陣雙方先各發兩張牌,之后電腦先行結束要牌;“< cout<<“\t(6)\t如果您贏了,您將獲得您所下注總數兩倍的錢;“< cout<<“\t(7)\t電腦將會在大于等于16點后停止要牌。“< pause();
}
void?CCard::Bet(CCard?&a)????????????????//下注
{
?????cout<<“\t\t您現有資金:¥“< b1:?cout<<“\t\t您要下的賭注是:“< ????cin>>a.nGamble;????????????????????????//輸入賭注
all=all+a.nGamble;?????????????????????//記錄該局已下的總賭注
????if?(a.nGamble<0)???????????????????????//賭注小于0乘-1
{?
?? a.nGamble=a.nGamble*(-1);
}
????if((a.nRMB-a.nGamble)<0)???????????????//資金不夠,重新下注
{
cout<<“\t對不起,您資金不夠,請重新下注“< goto?b1;
}
else
{
a.nRMB=a.nRMB-a.nGamble;???????????//下注成功,資金減少
}
}
void?CCard::deal(CCard?&a)?????????????????//發前兩張牌
{
a.nNumber=2;???????????????????????????//牌數值記為2
a.card1=(float)random(131);????????????//隨機產生牌點
cout<<“\n\t\t正在發牌中,請等待…………“< wait(750);
a.card2=(float)random(131);
wait(650);
if?(a.card1>10)
{a.card1=0.5;}??????????????????????????//如果牌點數大于10,記為0.5
if?(a.card2>10)
{a.card2=0.5;}
a.nTotal=a.card1+a.card2;???????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????15170??2012-12-27?20:43??21點小游戲\21點.cpp
?????文件???????4262??2012-12-27?20:43??21點小游戲\21點.dsp
?????文件????????516??2012-12-27?20:43??21點小游戲\21點.dsw
?????文件??????50176??2012-12-27?20:43??21點小游戲\21點.ncb
?????文件??????48640??2012-12-27?20:43??21點小游戲\21點.opt
?????文件???????1275??2012-12-27?20:43??21點小游戲\21點.plg
?????文件??????15170??2012-12-27?20:43??21點小游戲\21點撲克牌游戲.txt
?????文件?????270375??2012-12-27?20:43??21點小游戲\Debug\21點.exe
?????文件?????484060??2012-12-27?20:43??21點小游戲\Debug\21點.ilk
?????文件??????52144??2012-12-27?20:43??21點小游戲\Debug\21點.obj
?????文件?????294252??2012-12-27?20:43??21點小游戲\Debug\21點.pch
?????文件?????705536??2012-12-27?20:43??21點小游戲\Debug\21點.pdb
?????文件??????50176??2012-12-27?20:43??21點小游戲\Debug\vc60.idb
?????文件??????69632??2012-12-27?20:43??21點小游戲\Debug\vc60.pdb
?????目錄??????????0??2013-12-09?16:22??21點小游戲\Debug
?????目錄??????????0??2013-12-09?16:22??21點小游戲
-----------?---------??----------?-----??----
??????????????2061384????????????????????16
- 上一篇:BP算法的C++實現
- 下一篇:《測試驅動的嵌入式C語言開發》源碼
評論
共有 條評論