程序的设计21点扑克牌游戏_第1页
程序的设计21点扑克牌游戏_第2页
程序的设计21点扑克牌游戏_第3页
程序的设计21点扑克牌游戏_第4页
程序的设计21点扑克牌游戏_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计课程名称:程序设计课题名称:21点扑克牌游戏班 级:计算机学院12-2BJ班完成人:曹开明指导教师:李宛珊湖南理工学院计算机学院2013年12月19日学习参考一、设计目的面向对象程序设计课程设计是计算机科学与技术专业和软件工程专业集中实践性 环节之一,是学习完面向对象程序设计课程后进行的一次全面的综合练习。其目的 在于加深对面向对象程序设计中基础理论和基本知识的理解,培养学生的实践能力,促 进理论与实践的结合。通过课程设计,让学生能够熟练运用C+进行面向对象编程,建立 对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全 面掌握面向对象

2、编程技术。二、系统的功能分析必须包括:系统的功能需求,可以画出功能模块图程序的N-S流程图如下图所示:三、系统的程序设计与实现学习参考系统的运行环境:Visual C+ 6.0 (完整绿色版) 开发环境:C+ 系统的详细设计:类 class CCard该程序只需要一个CCard类,其中有如下步骤:Class CCardPrivate:Int mPip5; Int mNumber; Int mDollar; Int mGamble;Int mWin;Int mLose;Int mDraw:(一共有5张牌)(牌的张数)(一共有多少钱)(赌注)(赢得局数)(输的局数)(平的局数)Public:CCa

3、rd ();(构造函数初始化)Void FistplayTwoO ;(第一次出两张牌)Int GetNumber();(返回牌的数目)Int GetPipO ;(显示牌的总点数)Void DisplayPip():(一次显示牌的点数)Void DisplayPip(int);(除第一张牌,一次显示牌的点数)Void Turnplay();(出第一张牌)Void Win();(赢了多少钱)Void Lose ():(输了)Void Draw();(平了)Int SetGamble (int):(设置赌注)Int GetMoney ();(返回钱数)Void Displayinfo ():(打印必

4、要信息)Int GetCurrentCardO ;(返回当前牌)学习参考四、系统的运行结果与分析主要是开始运行的界面:次迎进人21.点涼戏世界?;_暴则占小囂汪叹总多点得方 规家果冢算 戏顼如弊12 3 4彳兄您好运!举否现在开始游戏段川?当赌注下多了: *CWindowssystem32Debug;*2S 计.ewe,灾迎边人21点游戏世界爲往21点;则杲轧目动判输; 斐宇等于16时不再亜牌o可砌薯 多点得方 鑒牌可机 I 12 3 4祝您好运,是否现在幵始湄及d? 耘现在有赌本=$ 10。12b请下挂i匸不能超过赌态: 感取竝本不愛诗圭新下注?您现在 F=$100诘卞住c赌注不能超过赌本=

5、学习参考玩完游戏:By rl 莊 iffu-V/N凳 -: 14 点数 聚牌爲点 继这要点的面 糜卸f /很還降薜输了?? 牌面点数M9贅的弹居:输家牌面:2霍乂:旳 就了D次 输了2次平局0次 足咅继续2丄点游戏?附录:系统的源程序# iiiclude# iiiclude# iiiclude using namespace std;class CCardprivate:int naPip5;int iiNumber;int liDollar;int nGainble;int nWin;int liLose;int liDraw;public:CCaid();学习参考void FiistPla

6、yTwo();int GetNumbei();int GetPipQ;void DisplayPipQ;void DisplayPip(int);void TuinPlayO;void WinQ;void LoseQ;void Draw();int SetGamble(iiit);int GetMoneyQ;void Displayliifb();int GetCuirentCaid();CCaid:CCard()nNumbei-0;iiDollai-100;fbr(int i=0;i5;i+)naPipi=0;nGainble=O;nWin=iiLose=iiDiaw=0;int CCard

7、: :GetMonev(void) return liDollar;void CCard:DisplayIiifd()coutn您一共玩 了ynWin+nLose+nDniwvv”局,贏 了局,输 了 niiLoseM局;,H平局HiiDiawH次。iT;coutH你的赌本共计有 $niiDollaiHo iiH;学习参考int CCard: :SetGamble(mt gamble)if(iiDollar-gamble0)letuin -1;if(gamble0)if(iiDollai-200)letuin -1;nGamble=20;elsenGamble=gamble;liDollain

8、Gamble;retiiin 0;void CCard: FirstPlavTwo() naPipO=randO% 13+1;naPip 1 =rand()% 13+1;iiNumbei-2;int CCard: :GetCunentCard() return naPipiiNumber-1;int CCard: :GetNumber() return iiNumber;int CCard:GetPip() iiit iiPip=O;fbr(iiit i=0;i=10)nPip+=10;学习参考elsenPip+=naPipi;retiiin nPip;void CCard:DisplayPi

9、p() fdr(int i=O;i21)coutH 暴了!n”;elsecoutH 牌面点数:,GetPipOendl;coutH 赌本:$HiiDollaiH 贏了 YcnWincv” 次 输了 HnLoseH 次 平局 HiiDrawM 次 Hendl;coutendlendl;void CCard:Draw()iiDiaw+;iiDollai+=nGainble;cout平局牌面:”;DisplayPipQ;if(GetPip()21)coutH 暴了!n”;elsecoutH 牌面点数:nGetPip()endl;coutH 赌本:$HiiDollaiH 贏了 YcnWincv” 次

10、输了 HnLoseH 次 平局 HiiDrawM 次 Hendl;coutendlendl;void CCard:DisplayPip(int n) coutM*Hf;foi(mt i= 1 ;i21 &player. GetPip()21)|cpu.GetPipO=playe 匚 GetPip() coutniiii 平局!n”;coutH计算机数据:t”;cpu.DisplayPip();coutH 牌面点数:Hcpu.GetPipOendl;COUtll 您的数据:t;player.Draw();coutendl;else if(cpu.GetPip()21) |(player.GetP

11、ipQcpu.GetPip()&player.GetPip()=21)coutnii 恭喜您,您贏了coutH计算机数据:t”;cpu.DisplayPip();coutH 牌面点数:Hcpu.GetPipOendl;COUtll 您的数据:t;playe 匚 Win();coutendl;else学习参考 coutniiii 很遗憾,您输了!n”;coutH计算机数据:t”;cpu.DisplayPip();coutH 牌面点数:,cpu.GetPipOendl;COUtll 您的数据:t;player.LoseQ;coutendl;void PlayTurn(CCard &cpuCCard

12、 &player) chai chChoice;int blCpu=1 .blPlavei-1;cpu.FirstPlayTwoQ;player. F ustP layTwoQ;do cout”您的牌点为:f:player.DisplayPip();coutvv”计算机的牌点为:t”;cpu.DisplayPip(l);coutH 您的牌面点数是:nplayer.GetPipOendl;if(blPlayer) cout,iiii 您是否继续要牌(Y/N)?;ciiicliChoice;if(chChoice=,Y,|chChoice=y)if(player.GetNumbei()21)blP

13、laver=O;J学习参考elsecout”对不起,您已经要了 5张牌,不能再要牌了!“;blPlaver=O;if(chChoice=fN,|chChoice=-n,)blPlaver=O;J,if(cpu .GetPip() 16&cpu .GetNumber()5)cpu.TuinPlayO;coutH 计算机要牌,牌点是:,cpu.GetCurrentCaidOendl;elseblCpu=O;if(blCpu&player. GetNumberQ5&player. GetPipQ21) blPlayer=l; wlule(blCpu| biPlayer);Judge(cpu,player);retiiin;int mam(void)srand(unsigned)tiine(NULL);CCaid cpu,player;int biLogic;int iiMoney;DisplavRuleQ;char chChoice;学习参考coutH是否现在开始游戏(Y/N)?n“;ciiichChoice;while(chChoice=,Y, |chChoice=y) docout 您现在有赌本:Snplayer. GetMonev();coutn请卞注(赌注不能超过赌本):;ciiinMonev;blLogic=plaver. S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论