1 / 33
文档名称:

c 猜单词课程设计——猜单词游戏.doc

格式:doc   大小:2,318KB   页数:33页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c 猜单词课程设计——猜单词游戏.doc

上传人:bodkd 2021/5/14 文件大小:2.26 MB

下载得到文件列表

c 猜单词课程设计——猜单词游戏.doc

文档介绍

文档介绍:VC++课程设计报告
——猜单词游戏



VC++课程设计报告
功能:
课程设计题目的功能:
一个猜单词游戏。两人游戏时,由一个玩家给出一个单词,在人与计算机游戏时,由计算机给出一个单词,另一个玩家根据组成单词的字母个数猜出单词,猜的次数可以指定,若猜不中,显示一个上吊的人形。
将猜单词的函数与相应的数据封装到类中,并改写主程序,使程序简化。
根据所猜单词的字母个数,给出指定几率的提示字母,显示于单词中的正确位置。
在进入猜单词的过程后,首先显示菜单询问是开始猜单词还是修改设置,默认的修改次数为4,默认显示字符的几率为20%,若要修改这个设置,在显示菜单中选择设置选项进行修改。
在人人对抗时,一个玩家给出单词时,单词不显示在屏幕上,字符用“*”显示。
猜单词时,输入一个单词,判断函数改为判断输入单词的字符是否与所猜单词一一对应,将猜中的字符显示出来。
在人机对抗时,可以随机读取单词,也可以选择向单词库输入单词,同时,将单词库中单词的个数显示出来,并根据单词库中单词个数的多少决定随机选取的范围。
程序设计的思想和方法
类的封装
画上吊人形的类已经封装起来,这部分程序基本不用改了,主要是对人人对抗和人及对抗操作部分类的封装。可以定义一个类的两个对象,也可以定义为一个基本类和一个派生类的对象,成员函数可根据对象的不同分别调用,数据结构如下:
Class CGuess
{
private:
string Word; //欲猜的单词
double Proba; //显示字符的概率0—1
int GuessNum;//总共可猜的次数
int WrongNum;//猜错的次数
string DisplayWord;//欲显示的单词
string GuessWord;//第二个玩家输入猜想的单词
int nLen;//输入单词的长度
public:
CGuess();//构造函数
void InitialSet();//修改设置值
void InputWord();//输入单词并初始化成员函数
void InputGuess();//接收用户所猜的单词
int Judge();//判断是否猜中,猜中返回0,猜不中返回1或-(death)
int ShowDisplay();//显示单词及上吊人形,程序结束返回1
int OpenWordFile();//打开单词库,随机取出一个单词赋给Word,成功返回1
int SaveWordFile();//向单词库输入新单词,正确返回1
程序主体结构的设置
该设置基本上全部修改了原程序的结构,在main函数中分别定义人人对抗和人机对抗的对象。在键入对应的菜单选项后,进入操作函数,操作函数的参数即是对应对象的引用。同样,若有下级菜单的函数一样用该对象的引用参数,这样,可保证对象的唯一性。
主菜单:
人人对抗(以人人对抗对象的引用作为参数调用子程序)
人机对抗(以人机对抗对象的引用作为参数调用子程序)
人人对抗菜单
开始猜单词
设置系统(即设置显示字符的概率和允许猜错的次数)
退出
人机对抗
开始猜单词
设置系统(即设置显示字符的概率和允许猜错的次数)
向单词库中添加单词
退出
人人对抗时输入欲猜单词的隐藏
一个玩家给出单词时,单词不显示在屏幕上,字符用“*”号显示。本程序在基础上还要有些限制条件,就是接收的字符必须是字母,当字幕为大写时还要转化为小写。如果输入的不是字母要提示重新输入。
C++用于处理字符串变量的新的数据类型——字符串类型(string类型)
在原程序字符串的操作中用了一种新的数据类型——String,该类型是一个字符串类,可以定义对象。它在使用方法上和char,int类型一样,可以用来定义字符串变量,即用一个名字代表一个字符序列。
程序设计的特点
增设了单词库,并且输入50个单词,以便使用。
人人对抗和人机对抗时显示是否有重复字母
课程设计的详细设计:
主菜单
人人对抗
人机对抗
退出
开始猜单词
退出
开始猜单词
设置系统
设置系统
退出
向单词库中添加单词
程序主体结构图如下:
程序详细结构:

void CGuess::GetChoice(){
cout<<endl<<endl<<endl;
cout << " 猜单词游戏

最近更新

内蒙古自治区赤峰市巴林左旗白音沟乡中学2020.. 5页

内蒙古自治区赤峰市市林东第三中学高二数学理.. 6页

内蒙古自治区赤峰市教育学院附属高级中学2022.. 5页

2025年新员工述职报告 3页

内蒙古自治区赤峰市第十一中学高一数学理月考.. 6页

内蒙古自治区赤峰市英才学校高一英语上学期期.. 3页

内蒙古自治区赤峰市阿鲁科尔沁旗天山口高中20.. 5页

冬至节的故事 4页

创意万圣节的活动方案 2页

初中生看云识天气阅读答案 4页

初二物理下册知识点归纳 4页

动物领养协议(三) 2页

包袋公司原材料进厂检验管理制度 3页

化纤行业员工个人工作述职报告 3页

北京下滩中学2022年高一物理测试题含解析 5页

北京仕尚中学2021-2022学年高二物理上学期期末.. 4页

北京八角中学高一物理期末试卷含解析 5页

北京北顿垡中学2020-2021学年高二生物下学期期.. 8页

测试算法创新与应用-洞察及研究 36页

北京国际学校高一语文上学期期末试卷含解析 22页

北京夏村中学 2021-2022学年高一数学理联考试.. 6页

2025年新同事怎么跟老员工沟通 3页

北京密云十里堡中学2021-2022学年高一数学文上.. 5页

北京密云县穆家峪中学 2021年高二生物上学期期.. 8页

学校健康教育制度相关制度样本 7页

汽车刹车抱死的利与弊 5页

汇总 - 39种行业废水处理工艺流程图 4页

书包质检报告 22页

风力发电施工安全培训课件 35页

发电厂电气主接线及厂用电 120页