猜单词游戏课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.V C++课程设计报告
一.程序功能
一个猜单词游戏。两人进行游戏时,由一个玩家给出一个单词,在人与计算机游戏时候,由计算机给出一个单词,另一个玩家根据组成单词的字母个数猜出单词,猜的次数可以指定,若猜不出,显示一个上吊的人形。
二.课程设计要求的实现
1.将猜单词的函数和相应的数据封装到类中,并改写了程序,使程序简单化。
根据所学的类的知识,我将画上吊小人的类体和猜单词的类体定义如下:实现类数据的封装。
// draw类定义
#ifndef DRAW_H // 检测是否已经包含
#define DRAW_H
class draw
{
public:
draw(); // 构造函数
// 成员函数
void rope(); // 绳子
void head(); // 头
void neck(); // 颈
void leftarm(); // 左臂
void rightarm(); // 右臂
void waisttop(); // 腰
void leftleg(); // 左腿
void rightleg(); // 右腿
};
#endif
#ifndef GUESS_H
#define GUESS_H
using namespace std;
//程序类定义
cl ass CGuess{
private:
string Word,word,worD; //要猜的单词
string DisplayWord; //用户所见的单词
char *pWord1;
char *pWord2;
int Proba; //显示单词字母个数百分比
int GuessNum; //玩家猜词的机会
int WrongNum; //玩家猜错的次数
int ChosenCounter;//玩家猜过的字母个数
string LetterChosen; //玩家已经猜过的字母
int Choice; //玩家的选择
int ShowNum; //显示字母个数
int Length; //所猜单词的长度
int LetterNum; //单词中的字母个数
int i; //循环的记数变量,使每次游戏都不一样
int Check; //用户输入字母是否正确
int Choice2;
public:
CGuess();
void InitialSet();
int SaveWordFile();
int UserWord(); //玩家出词
int RndWord(); //电脑出词
void ReplaceWord();
void lChosen(char);
void test(char);
int Run(); //运行
void GetChoice(); //得到选择
void Game(); //游戏主要函数
void Set(); //设置
void password();
};
#endif
2.根据所猜单词中的字母个数,给出指定几率的提示字母,显示于单词中的正确位置。
实现该功能的函数定义如下:
void CGuess::Set()
{
cout<<" 默认的猜单词次数改为:";
cin>>GuessNum;
while(!cin||GuessNum < 4 || GuessNum > 10)
{
cout<< " 无效输入" << endl
<< " 请再输入: ";
Flush(cin);
cin>>GuessNum;
}
cout<<" 默认的显示字母百分数改为:";
cin>>Proba;
while(!cin||Proba < 10 || Proba > 80)
{
cout<< " 无效输入" << endl
<< " 请再输入: ";
Flush(cin);
cin>>Proba;
}
system("cls");
}
3.在进入猜单词的过程后,首先显示单词询问是开始猜单词还是修改设置,默认的修改次数为4,默认显示字符的几率为20%,若要修改这个设置,在显示菜单中选择设置选项进行修改。
实现该功能的函数定义如下:
void CGuess::InitialSet()
{
if(m_Choice==1){
cout<<" 人人对抗"< }else{ cout<<" 人机对抗"< } cout << " ---------------------------------------" << endl << endl; cout<<" 1. 开始游戏"< cout<<" 2. 选择猜词机会"< cout<<" 你的选择:"< cin>>Choice2; while(!cin||Choice2 < 1 || Choice2 > 2) { cout<< " 无效输入" << endl << " 请再输入: "; Flush(cin); cin>>Choice2; } system("cls"); if(Choice2==1) cout< if(Choice2==2){ cout<<" 你要几次猜词机会(4 - 10): "; cin>>GuessNum; //输入猜词次数 while (!cin||GuessNum < 4 || GuessNum > 10) { cout << " 无效输入" << endl << " 请再输入- 你要几次猜词机会(4 - 10): "; Flush(cin); cin >>GuessNum; } } cout<<" 1. 开始游戏"< cout<<" 2. 选择显示字母的百分数"< cout<<" 你的选择:"< cin>>Choice2; while(!cin||Choice2 < 1 || Choice2 > 2) { cout<< " 无效输入" << endl << " 请再输入: "; Flush(cin); cin>>Choice2; } system("cls"); if(Choice2==1) cout< if(Choice2==2){ cout<<" 你要百分之几的字母显示出来(10 - 80): ";