小学生猜字游戏戏

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
你来比划我来猜---猜词游戏,词语大全
下载积分:800
内容提示:你来比划我来猜---猜词游戏,词语大全
文档格式:PPT|
浏览次数:872|
上传日期: 18:44:15|
文档星级:
全文阅读已结束,如果下载本文需要使用
 800 积分
下载此文档
该用户还上传了这些文档
你来比划我来猜---猜词游戏,词语大全
关注微信公众号猜字游戏_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
你可能喜欢【图文】猜字游戏_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
大小:6.26MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢天极传媒:天极网全国分站
您现在的位置: >>
利用C++编写一个猜字游戏
  今天,我们要用C++来写一个猜字母的游戏。不要担心,做起来并不是那么难的。首先,我们必须了解一下游戏规则。  一:玩家每次只能猜一个字母;  二:玩家只能猜错有限次,否则游戏失败;  三:猜错的字母将被记录下来;  四:每次猜测后,游戏应显示出当前猜出的残缺单词,以及当前猜错的所有字母,和剩下的猜错的机会;  五:假设玩家猜的字母在单词中,单词中所有的该字母将被视为已猜出,例如:如果原单词是,我们猜出了p,则程序应显示当前猜出的残缺单词为-pp--。  六:不得多次猜测同一个字母,因为这样是浪费时间。  一:准备工作:   规则就是这么多,我们应该用C++代码来实现它。首先,我们应考虑怎样记录单词,其中包括原单词、猜错的字母、当前猜出的残缺单词。如果用传统的C风格数组,这是很麻烦的,这用C风格字符串实现很困难。但C++为我们预先想到了这一切,C++中带有一个功能强大的string类,它的声明在头string中。注意,cstring或string.h中只是包含了一些处理字符串的函数,不包括string类。要使用这个类,我们首先要知道它的构造函数,这样才能创建string类对象。   
string(const char* s)
将string对象初始化为字符串s
string(size_type n,char c)
将对象初始化为有n个元素的对象,它们都是字符c
string(const string& str,size_type pos=0,size_type n=npos)
将对象初始化为str中,从第pos个元素开始的n个元素。   其实,这个类的构造函数远不止这些,但我们开发这个游戏只用得到这些(也许还用不上这么多)。我们还要了解一些关于string类的知识。它重载了所有的关系操作符、可以用+=操作符把字符串、string类对象、字符加到对象的末尾。比如,我们可以写出这样的代码:string="butter"; string b="fly"; a+=b;这是十分方便的。它还重载了[]操作符,使我们完全可以像常规数组一样用它。对于string类,我们还要初步了解一下它的输入选项。它有operator&&,所以我们可以用cin进行输入,并且它与istream中的cin的使用规则是一样的。值得注意的一点是,string类是一个比较智能的类,它能够自动调整字符串的长度,这样,我们就不用担心浪费空间或者输入字符串超出对象末尾了。而我们常用的getline()函数呢?这是一个成员函数,所以不能进行重载。解决的办法是,string类带有一个getline()的非成员函数,它接受两个参数,第一个是istream类对象,第二个是string类对象,并且去掉了长度参数,原因已经说了。所以,假设temp是一个string类对象,我们应这样对它使用getline():getline(cin,string);看起来有点不好看,但实用。  最后,要实现这个拼字游戏,我们必须在对象中查找字符。string类已经提供了这方面的函数了,请看下表(未完全列出)。 
size_type find(char ch,size_type pos=0)
从字符串的pos位置开始,查找字符ch,若找到,返回第一个ch所在的索引,否则,返回string::npos。
size_type find(const string& str,size_type pos=0)
从字符串的pos位置开始,查找字符串str,若找到,返回str的首字母所在的索引,否则,返回string::npos。
size_type find (const char* s,size_type pos=0)
从字符串的pos位置开始,查找字符串s,若找到,返回s的首字母所在的索引,否则,返回string::npos。    举例说明,若temp是一个string对象,内容为"apple",则temp.find('p')将返回1,即第一个字符p对应的索引。  二:游戏源代码:
#include &iostream&#include &string&#include &cstdlib&#include &ctime&#include &cctype&const int NUM = 26;const string wordlist[NUM] = {"alabama", "choice", "usually","dangerous", "deer", "panda", "love", "health", "exciting","interesting", "administrator", "professional", "manage", "nonce", "onset","typeid", "quarter", "remote", "lovely", "car", "keeper","valid", "where", "mean", "important", "last"};//供游戏的单词库 int main(){ srand(time(0));  cout && "Will you play a word game? &y/n& "; cin && play = tolower(play); while(play=='y') {  string first(wordlist[rand()%NUM]);//随机选择单词   int length=first.length();  string player(length,'-');//玩家猜测的单词   //猜错的字母集合   int guesses=10;//猜错的机会     cout&&"您有"&&guesses&&"次猜错的机会。\n";  cout&&"您的单词:"&&player&&'\n';  while(guesses&0&&player!=first)  {   cout&&"请您猜吧!";   cin&&   if(badguess.find(guess)!=string::npos||player.find(guess)!=string::npos)   {    cout&&"对不起,这个字母您已经猜过了。";       }//判断是否已经猜过    int temp=first.find(guess);   if(temp==string::npos)   {    cout&&"啊!猜错了。\n";    guesses--;    badguess+=   }//猜错后的处理    else   {    player[temp]=    temp=first.find(guess,temp+1);    while(temp!=string::npos)//继续搜索该字符,看是否单词中有多个该字符     {     player[temp]=     temp=first.find(guess,temp+1);    }   }   cout&&"您还剩下"&&guesses&&"次猜错的机会。\n";   cout&&"您当前猜出的单词:"&&player&&'\n';    cout&&"您当前猜错的字母集合:"&&badguess&&'\n';   }   if(guesses==0)   cout&&"对不起,您失败了。\n";  else   cout&&"您真棒!\n";   cout&&"正确单词为:"&&first&&'\n';   cout && "Will you play again? &y/n& ";    cin&& } system("PAUSE"); return 0;}  下面是运行结果:Will you play a word game? &y/n& y您有10次猜错的机会。您的单词:------------请您猜吧!a您还剩下10次猜错的机会。您当前猜出的单词:----------a-您当前猜错的字母集合:请您猜吧!s您还剩下10次猜错的机会。您当前猜出的单词:-----ss---a-您当前猜错的字母集合:请您猜吧!p您还剩下10次猜错的机会。您当前猜出的单词:p----ss---a-您当前猜错的字母集合:请您猜吧!o您还剩下10次猜错的机会。您当前猜出的单词:p-o--ss-o-a-您当前猜错的字母集合:请您猜吧!r您还剩下10次猜错的机会。您当前猜出的单词:pro--ss-o-a-您当前猜错的字母集合:请您猜吧!f您还剩下10次猜错的机会。您当前猜出的单词:prof-ss-o-a-您当前猜错的字母集合:请您猜吧!e您还剩下10次猜错的机会。您当前猜出的单词:profess-o-a-您当前猜错的字母集合:请您猜吧!i您还剩下10次猜错的机会。您当前猜出的单词:professio-a-您当前猜错的字母集合:请您猜吧!n您还剩下10次猜错的机会。您当前猜出的单词:professiona-您当前猜错的字母集合:请您猜吧!l您还剩下10次猜错的机会。您当前猜出的单词:professional您当前猜错的字母集合:您真棒!正确单词为:professionalWill you play again? &y/n& n请按任意键继续. . .
1(作者:邹浩浩责任编辑:方舟)
天极新媒体&最酷科技资讯扫码赢大奖
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
笔记本手机数码家电背景颜色 &
热门游戏操作指南相关游戏
鼠标点击画面中的花,在答案框中输入文字。
我最近玩过:
同类小游戏
玩过《猜字小游戏》的玩家还玩过
其他热门游戏
益智小游戏排行}

我要回帖

更多关于 小学生猜字游戏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信