猜单词游戏
一 课题内容和要求
(一)课题内容
要求(二)'-',假设谜底单词为"hello",则在屏幕上输出"-----"。
③玩家输入一个字母进行猜测,如果这个字母不在单词中,系统提示玩家不对;如果猜对字母,比如玩家输入了一个'l',则在屏幕上输出"--ll-"。
④重复③,直到玩家在规定的次数内猜出了单词或者超过次数游戏失败。
⑤显示玩家每个单词猜对与猜错次数等统计信息。如果玩家猜出单词,计算成绩,如进入前五名提示玩家并记录存储到记录文件中。
⑥询问玩家是否开始新一轮猜词,如果玩家选“否”,则系统退到外面的菜单。
(4) 系统设置:猜词次数可以为默认值。玩的时候,可以对其进行修改。
二 需求分析
提供可操作的主菜单:输出5个菜单,用于显示若干个可选的功能选项。根据玩家输入的选项来运行不同的功能,运行不同的函数。
1.开始游戏:进行文本信息的载入,从指定的文件中以一维数组形式加载游戏玩家记录信息这里的文件是在编译时就已经指定好的、存在的文本,需设计者预先自己建立好。
猜词过程:随机抽取单词,对每个单词,系统根据谜底单词长度在屏幕上显示相应个数“-”。玩家输入一个字母进行猜测,如果这个字母不在单词中,系统提示玩家不对;如果猜对字母,则替换单词中相应位置的“-”。直到玩家在规定的次数内猜出了单词或者超过次数游戏失败。显示玩家每个单词猜对与猜错次数等统计信息。如果玩家猜出单词,计算成绩,满足进入记录前五名的记录写入到记录文件中覆盖原纪录。询问玩家是否开始新一轮猜词,如果玩家选“否”,则系统退到外面的菜单。
2.成绩排行:查看更新过的游戏排行榜,显示分数前五名。
3.设置游戏:下设菜单,可对游戏音乐,游戏背景,游戏规则,语言进行设置和修改。
4.查看游戏帮助。
5.退出游戏。
三、概要设计struct Player
{
char name[20];//玩家姓名
int right; //猜对的字母
int wrong; //猜错的字幕
int time; //猜单词的时间
};
class ByTime
{
private:
clock_t start;
public:
ByTime()
{
start=clock(); //开始计时
}
~ByTime(){}; //析构函数
void Endtime()
{
clock_t end;
end=clock(); //结束计时
times=(end-start)/CLOCKS_PER_SEC; //计算时间
cout<
};
2、主要函数:
(1)文件打开函数void OpenWordFile(char string[200][12]):设计思想一致,用于打开单独储存的单词库及游戏记录txt文件。
(2)设置函数void set(),void Setgame:用于设置游戏中猜单词的次数与数目。
(3)“玩游戏”函数:void PlayGame (char wordlist[200][12]):用于对玩家输入的字母进行处理与判断
(4)“开始游戏”函数void StartGame (char wordlist[200][12]):将OpenWordFile (str); Change (wordlist,str);PlayGame(wordlist)等函数统一调用
(5)记录显示函数void Show():用于将写入过新纪录的文件显示到屏幕上。
(6)记录读入函数void Record():将最新的游戏成绩记录通过文件读写,从内存中保存到原文本文件中
四、源程序代码
#include
#include
#include
#include
#include
#include
void OpenWordFile(char string[200][12]);
void PlayGame(char wordlist[200][12]);
void Change(char wordlist[200][12],char str[200][12]);
void StartGame (char wordlist[200][12]);
int round;
void Set()
{
printf("请输入您想猜的单词数:");
scanf("%d",&round);
}
struct Player
{
char name[20];