資源簡介
課程設計小程序,撲克牌游戲,c++實現,簡單易懂,適用于初學者
代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
class?Playing_Card?//撲克牌類,表示一張撲克牌的面值花色和與之相聯系的操作???
{
private:
int?m_Value;?//撲克的實際面值,用整型值表示,從1開始,1~13
char?m_Face[3];?//撲克的數字大小,用字符串的形式表示,為A2345678910JQK
char?m_Suit?;???//撲克的花色(黑紅梅方)
public:
Playing_Card();?//構造函數,初始化撲克牌對象,實際上是將對象清零
void?showcard();?//顯示撲克牌對象的面值,花色
void?Card_Make(int);?//為一張撲克牌對象賦予特定的面值及花色
};
class?Deck??//一副撲克(54張)類
{
private:
Playing_Card?m_cardarray[54];?//一副撲克由54張撲克牌組成
int?m_lastdelt;?//標記這副撲克牌刪除的張數
public:
Deck(); //構造函數,初始化一副撲克牌對象,實際上是將其內的54張牌清零
void?MakeDeck() ;//生成一副撲克,即對其內的54張撲克牌賦予正確的面值及花色
void?Deal_One();//任意刪除一張牌
void?ShowDeck();//依次逐張顯示這副牌
void?DeckShuff(int);//洗牌,其參數是洗牌的次數
void?Remove_Card();//將刪除的那張牌的內容清零,使這張牌在屏幕上顯示不出來
void?Senddeck();
};
void?Program_Init();//程序初始化,輸出初始化信息
int?main();
void?Center_Text(char?[]);//將參數(字符串)在屏幕上顯示在一行的中間位置
int?get_number();//接收用戶鍵入的整型數值,作為函數值返回
char?Get_Key(); //接收用戶鍵入的字符,作為函數值返回
void?DeckMakeDriver(); //程序的主要算法,內部調用多個函數,包括生成撲克牌,洗牌,刪除等主要操作
int?getRandInt(int?min?int?max);//取得在兩個參數之間的整型隨機值 ????
void?prog_close();//暫停程序運行,供用戶查看中間運行結果
int?main()
{
srand(?(unsigned)time(?NULL?)?);//初始化隨機數種子 ?????
int?Card_Number?=?0;
????????Program_Init(); //顯示程序初始化提示信息 ?????
DeckMakeDriver();//調用程序的主要算法,包括程序的主要操作過程
prog_close();//暫停程序運行,供用戶查看運行結果
return?1;
}
Playing_Card::Playing_Card()//撲克牌對象的構造函數 ????
{
int?i;
for(i=1;i<=3;) //初始化撲克牌的面值,清零
{
m_Face[i]?=?‘?‘;
i++;
}
m_Suit?=?‘?‘;//初始化撲克牌的花色,清零
m_Value?=?0;
}
void?Program_Init()//程序一開始運行的提示信息
{
Center_Text(“CXSOFT“);
cout?< Center_Text(“撲克牌游戲“);
cout?< Center_Text(“制作:-----周微“);
???cout?< Center_Text(“(C)?2005?周微“);
cout?< Center_Text(“點擊<回車>鍵繼續..“);
cin.get();
}
char?Get_Key()//從鍵盤接收一個字符,將其作為函數值返回
{
char?x;
x?=?cin.get();
cout?< return?x;
}
void?Playing_Card::showcard()//在屏幕上顯示一張撲克牌的面值及花色
{
cout?<“???“;
cout?< cout.width(1);
cout?<?m_Suit;//顯示花色
cout?<“?“;
}
void?Center_Text(char?ShellText[80])//將參數(字符串)在屏幕上居中顯示
{
int?length;
int?center;
length=?strlen(ShellText);//取得欲顯示字符串的大小
center?=?(80?-?length)/2;//整個屏幕的列數為80,取得字符串在該行的起始位置
for(;center!=0;center--)//在字符串前輸出空格
{
cputs(“?“);
}
cputs(ShellText);
}
?
int?get_number()//從鍵盤接收一個整型數值,將其作為函數值返回
{
int?Input_Integer?=?0;
Center_Text(“Please?enter?an?integer?between?0?and?53.?54to?quit.“);
cout?< cin?>>?Input_Integer;
return?Input_Integer;
}
void?Playing_Card::Card_Make(int?num)//根據參數num生成一張撲克牌,num不同,生成的面值及花色不同
{
int?i?=?0;
char?j;
if(num==53)
{
strcpy(m_Face“jo“);
m_Suit=‘2‘;
m_Value=15;
}
if(num==52)
{
strcpy(m_Face
- 上一篇:縮短循環碼(2616)編譯碼程序-C語言
- 下一篇:銀行計算機專業筆試題目+答案
評論
共有 條評論