模拟21点扑克牌游戏(C++课设)
沈阳理工大学课程设计专用纸 Noi
目 录
1 题目内容及设计要求 ........................................................ 2 2 总体设计 ............................................................................ 2 2.1 总体功能框图 .............................................................. 2 2.2 类的设计说明 ............................................................ 3 2.3 主要算法流程图 ........................................................ 4 3 程序清单及注释 ................................................................. 5 4 运行结果与分析 ................................................................. 5 5 总结 ................................................................................... 25 6 参考文献 ........................................................................... 25
沈阳理工大学课程设计专用纸No2
1
题目内容及设计要求
模拟 21 点扑克牌游戏内容及要求: 模拟 21 点扑克牌游戏,玩家最多可以要 5 张牌,但如果牌的点数之和超过 21,则自动 出局;在不超过 21 点的情况下,玩家与庄家比牌的点数的大小,大者为赢家。 程序设计要求: (1)将大于 10 点的点数改为半点。 (2)高级玩家可以查看下一张牌,然后按要求输入密码,密码正确可以看牌,决定是否 要牌。 (3)超级玩家可以查看庄家的所有牌面,并任意输入自己想要的牌,有赢无输。 (4)每次要完牌后可以重新设定赔率,只能加注。
2
总体设计
2.1 总体功能框图
游戏界面
注册用户
登录用户
游戏规则
退出游戏
开始游戏
升级用户
退出登录
退出游戏
图 2-1 总体功能框图
沈阳理工大学
2.2 类的设计说明
定义一个Game类实现游戏的基本功能,可以抽牌,计算牌点,返回牌数,设置赌注,拥有的金额,计算赢局,输局,平局等。如Game(); //构造函数。Void FirstPlayTwo();//最初两张牌。int GetNumber();//返回牌张数 。float GetPip(); //返回点数 。void DisplayPip();//一次全部显示牌面点数。void DisplayPip(int ); //除了除了前两张牌,一次全部显示牌面点数(针对计算机牌的显示) 。void TurnPlay();//产生随机数,随机出一张牌。void Win();//赢了计算赌注。void Lose();//输了 。void Draw();//平局。int setGamble(int);//设置赌注,赌本不够返回1。int getMoney();//返回钱数 。void DisplayInfo();//打印必要的信息。int GetCurrentCard();//返回当前牌点。 int Gamble();//返回赌注。等等。
定义一个Display类可以打印进入游戏的界面,可以实现用户注册,登录,查看规则,升级用户储存用户资料等功能。Display();//构造函数。void cls();//清屏。char Playername();//返回用户名。char Password(int);//返回密码。int nMoney();//返回现金。void DisplayRegister();//打印注册界面。void DisplayBegin();//打印登录界面。int showfile();//打开游戏规则文件。void DisplayRule();//打印游戏规则界面。void DisplayQuit();//打印退出界面。void SelectMenu1();//游戏主界面选择菜单。void SelectMenu2();//游戏登陆成功后选择菜单。void DisplayMenu();//打印游戏菜单界面(游戏主界面)。int InputMenu();//输入菜单。void RegisterSucceed();//注册成功界面。void RegisterFail();//注册失败界面。void Begin();//打印登录成功界面。void BeginFail(int,int);//打印登录失败界面。void Start();//开始游戏。void Upgrade();//判断升级用户。void DisplayUpgrade(int,int);//升级用户界面。void Log_in(char *) const;//核对密码。int StoreUser();//储存用户信息。int ReadUser();//读取用户信息。等等。
2.3 主要算法流程图
图2-2 算法流程图
3 程序清单及注释
#include<iostream> #include<fstream> #include<cstdlib> #include<ctime> #include<Windows.h> #include<iomanip> #include<conio.h> #include<string.h>
using namespace std;
class Game//游戏类 {
friend class Display; private:
int naPip[5];//定义一个数组,一共是5张牌。 float nPip; //牌点总数 int nNumber; //发了多少张牌。 int nMoney; //有多少钱 int nGamble; //赌注 int nWin; //赢局数 int nLose; //输局数 int nDraw; //输局数 int blLogic;// int temp;// int nDallor;// char chChoice;// public:
Game(); //构造函数
void FirstPlayTwo();//最初两张牌 int GetNumber();//返回牌张数 float GetPip(); //返回点数
void DisplayPip();//一次全部显示牌面点数。
void DisplayPip(int ); //除了除了前两张牌,一次全部显示牌面点数(针对计算机牌的显示) void TurnPlay();//出了一张牌 void Win();//赢了计算赌注 void Lose();//输了 void Draw();//平局
int setGamble(int);//设置赌注,赌本不够返回1 int getMoney();//返回钱数
void DisplayInfo();//打印必要的信息
int GetCurrentCard();//返回当前牌点。 int Gamble();//返回赌注 void error1(char);// void error2(int);//
void addGamble();//增加赌注 void Judge();//
void showCpu();//看庄家前两张牌 void cls();//清屏 void playTurn();// int Movegame();//运行游戏
}; Game player,cpu;//人和计算机赌 class Display//操作类 {
friend class Game; char enter;//
char playername[30],password[20];// int x,Money,Rank;// private:
public:
Display();//构造函数 void cls();//清屏 int rank();//
char Playername();//用户名 char Password(int);//密码 int nMoney();//现金
void DisplayRegister();//打印注册界面 void error();//
void DisplayBegin();//打印登录界面 int showfile();//打开游戏规则文件 void DisplayRule();//打印游戏规则界面 void DisplayQuit();//打印退出界面 void SelectMenu1();//游戏主界面选择菜单 void SelectMenu2();//游戏登陆成功后选择菜单
void DisplayMenu();//打印游戏菜单界面(游戏主界面) int InputMenu();//输入菜单
void RegisterSucceed();//注册成功界面 void RegisterFail();//注册失败界面 void Begin();//打印登录成功界面
void BeginFail(int,int);//打印登录失败界面 void Start();//开始游戏
void Log_in(char *) const;//核对密码 int StoreUser();//储存用户信息 int ReadUser();//读取用户信息
void NoMoney();// void Upgrade();// };Display game;// Game::Game()//构造函数 {
nNumber=0;//开始没有发牌 for(int i=0;i<5;i++) naPip[i]=0; //五张牌全部为0 nGamble=0; nPip=0;
nMoney=100;//初始赌本为0
nWin=nLose=nDraw=0; //没输没赢没有平局 }
int Game::getMoney()//返回钱数 { }
void Game::DisplayInfo()//打印相关信息。 {
cout<<"您一共玩了"<<nWin+nLose+nDr …… 此处隐藏:3871字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [小学教育]四年级综合实践活动课《衣物的洗涤》教
- [小学教育]2014半年工作总结怎么写
- [小学教育]20世纪外国文学专题综合试题及答案
- [小学教育]TS_1循环使用催化丙烯环氧化反应研究
- [小学教育]最实用的考勤签到表(上下班签到表)
- [小学教育]气候与生态建筑——以新疆民居为例
- [小学教育]二人以上股东有限责任公司章程参考样本
- [小学教育]2014届第一轮复习资料4.1,3美好生活的
- [小学教育]土方开挖、降水方案
- [小学教育]手绘儿童绘本《秋天的图画》(蜡笔)
- [小学教育]2002级硕士研究生卫生统计学考试试题
- [小学教育]环保装备重点发展目录
- [小学教育]金蝶K3合并报表培训教材
- [小学教育]岩浆岩试题及参考答案
- [小学教育]知之深爱之切学习心得
- [小学教育]第十二章 蛋白质的生物合成
- [小学教育]Chapter 2-3 Solid structure and basi
- [小学教育]市政道路雨季专项施工方案
- [小学教育]中国海洋大学2012-2013学年第二学期天
- [小学教育]教育心理学第3章-学习迁移
- 浅谈深化国企改革中加强党管企业
- 2006年中国病理生理学会学术活动安排
- 设计投标工作大纲
- 基于ARP的网络攻击与防御
- 2016届湖北省七市(州)教科研协作体高三
- Google_学术搜索及其检索技巧
- 2019-2020学年七年级地理下册6.3美洲教
- 城市道路可研报告
- 【名师指津】2012高考英语 写作基础技
- 6级知识点培训北京师范大学《幼儿智趣
- 注册会计师会计知识点:金融资产
- 新安装 500 kV 变压器介损分析与判断
- PS2模拟器PCSX2设置及使用教程.
- 医院药事管理与药剂科管理组织机构
- {PPT背景素材}丹巴的醉人美景,免费,一
- NAS网络存储应用解决方案
- 青海省西宁市六年级上学期数学期末考试
- 测量管理体系手册依据ISO10012:2003
- 洞子小学培养骨干教师工作计划
- 浅谈《牛津初中英语》的教材特点及教学




