教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

模拟21点扑克牌游戏(C++课设)

来源:网络收集 时间:2026-09-11
导读: 沈阳理工大学课程设计专用纸 Noi 目 录 1 题目内容及设计要求 ........................................................ 2 2 总体设计 ............................................................................ 2 2.1 总体功能框图 ...............

沈阳理工大学课程设计专用纸 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字,全部文档内容请下载后查看。喜欢就下载吧 ……

模拟21点扑克牌游戏(C++课设).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/43761.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)