下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
猜单词游戏C++程序以下是一个完整的猜单词游戏C++程序,包含随机抽取单词、猜测次数限制、实时反馈、大小写不敏感等功能,代码注释详细,可直接复制运行,适合初学者学习和使用。cpp
#include<iostream>
#include<vector>
#include<string>
#include<cstdlib>
#include<ctime>
#include<cctype>//用于字符大小写转换
usingnamespacestd;
//函数声明
//转换字符串为小写(统一输入,避免大小写影响判断)
stringtoLowercase(stringstr);
//初始化猜测结果(用下划线代替未猜中的字母)
stringinitGuess(intlength);
//检查玩家输入的字母是否在单词中,并更新猜测结果
boolcheckLetter(charletter,stringword,string&guess);
//显示当前猜测进度、剩余次数
voidshowStatus(stringguess,intremainingGuesses);
intmain(){
//1.初始化单词库(可自行添加、修改单词)
vector<string>wordList={
"apple","banana","orange","grape","watermelon",
"computer","program","coding","cpp","python",
"school","student","teacher","book","pen"
};
//2.设置随机种子(确保每次运行单词不同)
srand((unsignedint)time(0));
//3.随机抽取一个单词作为目标单词
intrandomIndex=rand()%wordList.size();
stringtargetWord=wordList[randomIndex];
//统一转换为小写,方便后续判断
targetWord=toLowercase(targetWord);
//4.游戏初始化
constintMAX_GUESSES=6;//最大猜测次数(可修改)
intremainingGuesses=MAX_GUESSES;
stringcurrentGuess=initGuess(targetWord.size());//初始猜测结果(全下划线)
boolgameOver=false;
boolisWin=false;
//5.游戏欢迎语
cout<<"====================猜单词游戏===================="<<endl;
cout<<"规则:猜测一个"<<targetWord.size()<<"个字母的单词,每次输入一个字母"<<endl;
cout<<"提示:大小写不敏感,共有"<<MAX_GUESSES<<"次猜测机会,加油!"<<endl;
cout<<"===================================================="<<endl<<endl;
//6.游戏主循环
while(!gameOver){
//显示当前猜测状态
showStatus(currentGuess,remainingGuesses);
//提示玩家输入字母
charinput;
cout<<"请输入你猜测的字母:";
cin>>input;
//转换输入为小写,统一判断标准
input=tolower(input);
//检查输入是否合法(仅允许单个字母)
if(!isalpha(input)){
cout<<"❌输入错误!请输入一个英文字母。"<<endl<<endl;
continue;
}
//检查字母是否已经猜过
if(currentGuess.find(input)!=string::npos){
cout<<"⚠️这个字母已经猜过啦,请换一个字母。"<<endl<<endl;
continue;
}
//检查字母是否在目标单词中
boolisCorrect=checkLetter(input,targetWord,currentGuess);
//根据猜测结果更新剩余次数
if(!isCorrect){
remainingGuesses--;
cout<<"❌猜错啦!剩余猜测次数:"<<remainingGuesses<<endl<<endl;
}else{
cout<<"✅猜对啦!继续加油~"<<endl<<endl;
}
//判断游戏是否结束
//1.猜对所有字母(获胜)
if(currentGuess==targetWord){
isWin=true;
gameOver=true;
break;
}
//2.猜测次数用完(失败)
if(remainingGuesses==0){
gameOver=true;
break;
}
}
//7.游戏结束,显示结果
cout<<"====================游戏结束===================="<<endl;
if(isWin){
cout<<"🎉恭喜你!猜对啦!目标单词是:"<<targetWord<<endl;
cout<<"你用了"<<MAX_GUESSES-remainingGuesses<<"次猜测机会~"<<endl;
}else{
cout<<"😢很遗憾,猜测次数用完啦!"<<endl;
cout<<"目标单词是:"<<targetWord<<endl;
cout<<"下次再加油哦!"<<endl;
}
cout<<"===================================================="<<endl;
return0;
}
//函数实现:转换字符串为小写
stringtoLowercase(stringstr){
for(inti=0;i<str.size();i++){
str[i]=tolower(str[i]);
}
returnstr;
}
//函数实现:初始化猜测结果(用下划线代替未猜中的字母,字母之间用空格分隔)
stringinitGuess(intlength){
stringguess;
for(inti=0;i<length;i++){
guess+='_';
if(i!=length-1){//最后一个字母后不添加空格
guess+='';
}
}
returnguess;
}
//函数实现:检查字母是否在单词中,并更新猜测结果
boolcheckLetter(charletter,stringword,string&guess){
boolisCorrect=false;
//遍历目标单词,找到所有匹配的字母,更新猜测结果
for(inti=0;i<word.size();i++){
if(word[i]==letter){
//猜测结果中,字母对应的位置(注意guess中字母间隔一个空格,所以索引是i*2)
guess[i*2]=letter;
isCorrect=true;
}
}
returnisCorrect;
}
//函数实现:显示当前猜测进度、剩余次数
voidshowStatus(stringguess,intremainingGuesses){
cout<<"当前猜测:"<<guess<<endl;
cout<<"剩余猜测次数:"<<remainingGuesses<<endl;
}
程序说明核心功能:随机抽取单词、大小写不敏感判断、输入合法性校验、实时进度反馈、获胜/失败判断。可修改部分:单词库(wordList向量中可添加任意英文单词)、最大猜测次数(MAX_GUESSES
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 优势与劣势采购管理制度
- 中学政府采购管理制度
- 供应商采购与付款制度
- 施工企业采购报销制度
- 中心学校采购制度
- 商贸公司采购流程制度
- 校园疫情物资采购制度
- 药物网上采购制度
- 采购结算审核管理制度
- 政府询价采购制度规定
- 胃穿孔患者的护理
- 2025统编版道德与法治小学六年级下册每课教学反思(附教材目录)
- 护理疑难病例胰腺癌讨论
- 《经络与腧穴》课件-手厥阴心包经
- 零红蝶全地图超详细攻略
- 2024届高考语文复习:诗歌专题训练虚实结合(含答案)
- 智能交通监控系统运维服务方案(纯方案-)
- 2024年广东中山市港口镇下南村招聘合同制综合工作人员2人历年(高频重点复习提升训练)共500题附带答案详解
- 高一化学学习探究诊断(必修1)(西城学探诊)
- 材料成形工艺基础智慧树知到期末考试答案章节答案2024年华东交通大学
- 高中数学学业水平考试(合格考)知识点总结
评论
0/150
提交评论