南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx

上传人:b****2 文档编号:13872842 上传时间:2022-10-14 格式:DOCX 页数:23 大小:246.90KB
下载 相关 举报
南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx_第1页
第1页 / 共23页
南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx_第2页
第2页 / 共23页
南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx_第3页
第3页 / 共23页
南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx_第4页
第4页 / 共23页
南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx

《南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。

南京理工大学C++课程设计扑克游戏复习进程Word格式文档下载.docx

Playing_Cardm_Card[20];

//最多有20张牌

intnNum;

//实际张数

Per_Deck();

//构造函数

voidMakePerDeck(Deck&

int,int);

//对象初始化

voidShow();

//显示

voidSortFace();

//按面值排序

voidSortSuit();

//按花色排序

intDelete(intn);

//删除牌号为n的那张

};

//**************************四个人玩牌的过程*******************

classPlay_Deck

Per_Deckm_deck[4];

//一共是四个人玩牌

Play_Deck();

voidPlayCard(Deck&

);

//用指定的那副牌对四个人分别赋值

intDeleteOne(introw,intcolumn);

//删除参数为第row个人的第column张牌

voidSortDeckFace();

//对整副牌面值排序

voidSortDeckSuit();

//对整副牌花色排序

ints(inta);

//用于调用私有数据来显示排序后的牌

4.添加人性化界面,初始运行程序时加了一个友好的界面,用p,u,k,e这四个字母拼成了中文的”扑克”二字,增加游戏的趣味性,并附带输出了自己的姓名和学号。

5.在主函数中调用DeckMakeDriver()函数,通过DeckMakeDriver()中的一个do循环控制主菜单的循环出现,并对可能出现的玩家输入问题进行分析修改。

5.进入四个不同功能的游戏界面时,操作后询问是否显示被操作后的牌,再询问是否返回主菜单,否的话退出游戏。

6.在对玩家的牌的面值以及花色排序时,在类PlayDeck()中增加ints()函数,用于调用私有数据来显示排序完后的牌。

四、源程序结构流程框图与说明

 

五.源程序代码以及草稿原件

#include<

iostream.h>

string.h>

conio.h>

stdlib.h>

stdio.h>

time.h>

voidProgram_Init();

intmain();

voidCenter_Text(char[]);

intget_number();

charGet_Key();

voidDeckMakeDriver();

intgetRandInt(intmin,intmax);

voidprog_close();

classPerDeck;

//增加

classPlaying_Card

private:

intm_Value;

charm_Face[3];

charm_Suit;

Playing_Card();

voidshowcard();

voidCard_Make(int);

friendclassPerDeck;

//增加

classDeck

Playing_Cardm_cardarray[54];

//

intm_lastdelt;

Deck();

voidMakeDeck();

voidDeal_One();

voidShowDeck();

voidDeckShuff(int);

voidRemove_Card();

classPerDeck//增加PerDeck

Playing_CardmCard[20];

PerDeck(){}

voidMakePerDeck(Deck&

int);

//end

classPlayDeck//增加PlayDeck

PerDeckmDeck[4];

PlayDeck(){}

voidPlayCard(Deck&

intDeleteAll(int,int,int,int);

voidSortDeckFace(int);

voidSortDeckSuit(int);

voids(int);

voidPerDeck:

:

MakePerDeck(Deck&

d,inta)//PerDeck成员的函数

nNum=a;

inti=0;

while(i<

a&

&

d.m_lastdelt!

=53)

mCard[i++]=d.m_cardarray[++d.m_lastdelt];

}

Show()

intnNewLine=0;

Center_Text("

此玩家的牌:

"

cout<

<

endl;

while(nNewLine<

nNum)

{

if(nNewLine%5==0)cout<

mCard[nNewLine++].showcard();

}

SortFace()

Playing_Cardk;

for(inti=0;

i<

nNum;

i++)

for(intj=0;

j<

nNum-i-1;

j++)

if(mCard[j].m_Value>

mCard[j+1].m_Value)

{

k=mCard[j];

mCard[j]=mCard[j+1];

mCard[j+1]=k;

}

SortSuit()

for(intj=0;

if(mCard[j].m_Suit>

mCard[j+1].m_Suit)

mCard[j]=mCard[j+1];

intPerDeck:

Delete(intn)

if(n>

cout<

超出这副牌张数"

returnnNum;

else

cout.width(5);

删除牌:

;

mCard[n-1].showcard();

while(n-1<

mCard[n-1]=mCard[n++];

return--nNum;

}//end

voidPlayDeck:

PlayCard(Deck&

k)//PlayDeck的成员函数

inta,b,c,d;

请依次输入给四位玩家的牌数(总张数小于等于54)。

cin>

>

a>

b>

c>

d;

if(a+b+c+d>

54)

Center_Text("

张数超过牌的张数,退出游戏。

exit(0);

mDeck[0].MakePerDeck(k,a);

mDeck[1].MakePerDeck(k,b);

mDeck[2].MakePerDeck(k,c);

mDeck[3].MakePerDeck(k,d);

玩家1"

mDeck[0].Show();

玩家2"

mDeck[1].Show();

玩家3"

mDeck[2].Show();

玩家4"

mDeck[3].Show();

intPlayDeck:

DeleteOne(introw,intcolumn)

mDeck[row-1].Delete(column);

return1;

DeleteAll(inta,intb,intc,intd)

mDeck[0].Delete(a);

mDeck[1].Delete(b);

mDeck[2].Delete(c);

mDeck[3].Delete(d);

}

SortDeckFace(intb)

mDeck[b-1].SortFace();

SortDeckSuit(intb)

mDeck[b-1].SortSuit();

s(inta)

mDeck[a-1].Show();

}//endl

intmain()

srand((unsigned)time(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1