21点扑克牌游戏

21点扑克牌游戏

ID:38976685

大小:68.01 KB

页数:16页

时间:2019-06-22

21点扑克牌游戏_第1页
21点扑克牌游戏_第2页
21点扑克牌游戏_第3页
21点扑克牌游戏_第4页
21点扑克牌游戏_第5页
资源描述:

《21点扑克牌游戏》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、VC++课程设计报告课题名称:21点扑克牌游戏单位:动力工程学院2005级学号:0508190111姓名:田骏指导教师:张薇一、程序功能简介:这是一个21点的扑克牌游戏。玩家一共可以要5张牌,如果牌的点数超过21点则输了,自动出局。在不超过21点的情况下,玩家与庄家比牌的点数大小,大者赢。根据玩家的级别高低,分为“普通玩家”、“高级玩家”、“超级玩家”,不同玩家在游戏中的规则有所不同。二、程序设计思想:1)、类的封装根据程序设计要求,把程序中的函数与数据装到一个类中。因此,定义了类classCcard,并定义两个构

2、造函数,其中一个为缺省的构造函数。2)、对输入密码是否正确的判断在判断“高级玩家”、“超级玩家”的成员函数hplayer()、splayer()中利用字符串函数中的strcmp(char1[],char2[])判断密码的正确性。其中char1[]为玩家通过成员函数keyword()输入的密码;char2[]为设定的密码。当strcmp()返回值为0时,char1[]与char2[]完全以致,hplayer()、splayer()返回值1;当strcmp()返回值为1时,char1[]与char2[]完全以致,hpl

3、ayer()、splayer()返回值0。3)、对“高级玩家”设计程序设计要求“高级玩家”在要牌时点数不会超过21点,设计了友元函数Hplayerhit(CCard&b)。通过对玩家对象的引用,实现计算机替“超级玩家”要下一张牌,判断要了下一张牌,总牌点数是否大于21点,并替玩家要牌,这些通过一个ifelse语句实现。4)、对“超级玩家”的设计程序设计要求“超级玩家”时,可以看庄家的牌,可以看下一张牌,还可以指定下一张的牌点数。设计了有元函数Splayerhit(CCard&a,CCard&b),通过主函数对玩家对

4、象与庄家对象的引用实现程序要求。a.nTotal为庄家的牌点数。5)、对增加赌注的设计程序设计要求玩家可以根据牌的情况自行增加赌注。成员函数Addbet()实现这一功能。通过判断输入的字符确定玩家是否要增加赌注。当玩家加赌注时,判断是否超过了手中有的资金。提示玩家一共下了多少赌注,手中还有剩的资金。6)、对要张数的设计程序设计要求要牌不能超过5张。设计了成员数据playerturns、cputurns,成员函数Playerturns()、Cpuhit()。玩家每次要牌时playerturns加1。Playertur

5、ns()返回值大于1时,可以继续要牌。Cpuhit()实现了计算机的要牌,并限制了计算机要牌数不超过5张。7)、游戏熟赢的判定设计了友元函数results(CCard&a,CCard&b),通过对庄家与玩家对象的引用,判断玩家、庄家的牌点数是否超过21点,在不超过21点的情况下,与庄家的总牌点数比较大下,判断一局游戏的书赢。并对类中有关玩家的数据nDollar(赌注资金)、nWin(赢局数)、nLose(输局数)、nDraw;(平局数),进行操作。8)主函数设计思想程序开始运行,首先建立两个对象cpu(庄家)、pl

6、ayer(玩家),并判断玩家是否要开始游戏。在一局游戏结束后通过do-while语句判断玩家是否继续玩牌。开始游戏后,通过playerFirstplaytwo()cpuFirstplaytwo()为玩家与庄家分别发两张牌。do-while语句判断玩家是否要牌、是否有资格要牌。在do-while语句段中利用if-else-if语句判断玩家的级别,根据不同级别player调用不同函数进行要牌。通过cpu调用Cpuhit()完成庄家的要牌。之后程序从do-while程序段跳出,调用results(cpu,player)进

7、行本局游戏胜负的判断。如果玩家不再继续游戏,player调用print()输出游戏结果。一、序中主要数据与函数列表:主要数据:intnDollar—有多少钱intnWin—赢局数intnLose—输局数intnDraw—平局数doublenTotal—总的牌点数intnGamble—赌注资金intplayerturns—玩家牌的张数intcputurns—庄家牌的张数charstr[10]—输入的密码存入该字符串主要函数:CCard(intmoney)构造函数CCard(){}缺省构造函数intrandom(int

8、hi,intlo)取两参数之间的随即数,用于随即产生牌点voidrules()规则输出voidBET()接受玩家第一次下注voidAddbet()接受玩家增加赌注voidplayerFirstplaytwo()为玩家发头两张牌voidcpuFirstplaytwo()为庄家发头两张牌voidkeyword()输入密码程序voidhit()普通玩家要一张牌vo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。