补丁内容:

1.消除从size_t转化为int的丢失数据的可能;

2.将loc变量static_cast转化,加强find函数的可靠性;

3.加强连接,防止闪退;

4.格式更美观。

注:部分编译器无法编译static_cast<basic_string<char, char_traits<char>, allocator<char>>::size_type>或size_t,可以使用1.88.3.2旧版本的猜单词游戏。

#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
const int NUM = 89;
const string wordlist[NUM] = { "racket","badminton","panda","deep","early","prepare","gift","chocolate","fashion","designer","keyboard","feel","medal","modern","middle","quilt","dictionary","difficult","future","mainly","autumn","butterfly","greedy","useful","dancer","businessman","view","best","interesting","view","space","travel","bridge","telephone","tree","sing","player","change","juice","soccer","tennis","morning","afternoon","night","evening","season","spring","summer","winter","fall","leave","monday","tuesday","thursday","friday","wednesday","saturday","sunday","january","february","march","april","may","june","july","augest","september","october","november","december","favourite","factory","sale","male","trousers","skirt","million","desert","noon","were","often","never","seldom","son","daughter","danger","just","hurt","" };
int main()
{cout << "----------------Hand Man----------------\n";srand(time(NULL));char play;cout << "Will you play a word game?<y/n>";cin >> play;play = tolower(play);while (play == 'y'){string target = wordlist[rand() % NUM];if (target == ""){cout << "Well,you are so luck,you win!" << endl;cout << "Will you play again?<y/n>";cin >> play;play = tolower(play);continue;}size_t length = target.length();string attempt(length, '-');string badchars;int guesses = 6;cout << "Guess my secret word.It has " << length << " letters ,and you guess\none letter at a time .You get " << guesses << " wrong guesses.\n";cout << "Your word: " << attempt << endl;while (guesses && attempt != target){char letter;cout << "Guess a letter: ";cin >> letter;if (badchars.find(letter) != string::npos || attempt.find(letter) != string::npos){cout << "You already guessed that.Try again.\n";continue;}size_t loc = target.find(letter);if (loc == string::npos){cout << "Oh,bad guess!\n";guesses--;badchars += letter;}else{cout << "Good guess!\n";attempt[loc] = letter;loc = target.find(letter, static_cast<basic_string<char, char_traits<char>, allocator<char>>::size_type>(loc) + 1);while (loc != string::npos){attempt[loc] = letter;loc = target.find(letter, static_cast<basic_string<char, char_traits<char>, allocator<char>>::size_type>(loc) + 1);}}cout << "Your word: " << attempt << endl;if (attempt != target){if (badchars.length())cout << "Bad choice: " << badchars << endl;cout << guesses << " bad guess left\n";}}if (guesses)cout << "That's right!\n";elsecout << "Sorry,the word is " << target << ".\n";cout << "Will you play another?<y/n>";cin >> play;play = tolower(play);}cout << "Thanks for your playing.Bye!\n";return 0;
}

下期补丁,粉丝内测,专栏收录,欢迎订阅!

猜单词1.88.3.3补丁相关推荐

  1. python超简单小游戏代码-Python实现简单的猜单词小游戏

    本文实例为大家分享了Python实现猜单词小游戏的具体代码,供大家参考,具体内容如下 思路 1.一个words列表里存放若干的单词,例如:["extends", "pri ...

  2. python猜单词游戏_python 游戏(猜单词Hangman)

    1.游戏思路和流程图 实现功能:随机一个单词让玩家猜测(后续难度实现修改为成语填空,成语必须要有提示,可修改猜的次数,增加连续猜成语,难度系数随着次数的增加而增加) 游戏流程图 2. 单词库和模块 i ...

  3. java猜单词游戏_序列应用——猜单词游戏

    开发工具:Visual Studio Code 1.游戏介绍 猜单词游戏就是计筧机随机产生一个单词,打乱字母顺序,供玩家去猜测.此游戏采用控制字符界面. 2.程序设计思路 游戏中,可使用序列中的元组存 ...

  4. 单词九连猜python编程_python实现猜单词游戏

    本文实例为大家分享了python实现猜单词游戏的具体代码,供大家参考,具体内容如下 0.效果 1.代码 # 猜单词游戏 import random #添加 WORDS = ("python& ...

  5. 编程猜单词游戏python_Python实现简单的猜单词小游戏

    本文实例为大家分享了Python实现猜单词小游戏的具体代码,供大家参考,具体内容如下 思路 1.一个words列表里存放若干的单词,例如:["extends", "pri ...

  6. 用C语言实现猜单词的小游戏

    题目 程序设计思想:该程序将从单词库文件中随机地选择一个单词,显示该单词的中文名,用户输入对应的英文单词.系统显示猜中的字母,用户可以最多有8次猜测的机会.如果用户在规定次数中内猜中了该单词,则该次游 ...

  7. c语言猜单词游戏实验报告,猜单词游戏c语言源程序.doc

    猜单词游戏c语言源程序 包括程序及txt文档,希望可以对您有所帮助 #include #include #include #include #include #include #include voi ...

  8. Python实现猜单词游戏

    推荐自己的专栏:分享一些Python案例,将所学用出来 欢迎参加猜单词游戏! 请把乱序后的字母组成一个单词乱序后的单词: odticnraiy请输入您猜测的结果:dictionary恭喜您,猜对了!是 ...

  9. python猜单词游戏_python实现猜单词游戏

    本文实例为大家分享了python实现猜单词游戏的具体代码,供大家参考,具体内容如下 0.效果 1.代码 # 猜单词游戏 import random #添加 WORDS = ("python& ...

最新文章

  1. 【C++】【OpenCv】图片加噪声处理,计时,及键盘事件响应捕捉
  2. 以下可以采用python语言保留字的是-以下哪个选项不是Python语言的保留字?_学小易找答案...
  3. iReport中求和的问题
  4. 用VC进行COM编程所必须掌握的理论知识
  5. Asp.Net Core 中如何设置 IP 白名单
  6. ad如何镜像器件_使用 Dockerfile 制作镜像
  7. 带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用
  8. 二分查找算法(C#实现)
  9. CocoStudio 骨骼动画制作过程
  10. 从零开始学USB(八、USB的数据流模型)
  11. Hybrid APP基础篇(一)-什么是Hybrid App
  12. 测试工程师常见的算法面试题
  13. Mysql开发实践:error while loading shared libraries: libaio解决方案
  14. 分享淘宝利器飞天侠4.1至尊商业版 去除域名限制 绕过淘宝API直接采集
  15. Win10 Delete键失效怎么办 ?
  16. 南陵中学2021高考成绩查询,南陵中学举行2021届高三距高考200天动员大会
  17. Tiled瓦片地图的使用
  18. 【运行报错】Centos 6 无法使用 yum
  19. 私有专辑 java,这是什么“专辑歌手”标签iTunes使用?任何方式使用java设置?
  20. PPP中的pap和chap认证

热门文章

  1. WPF开发经验-WPF的TextBox控件的MouseDown事件不响应的解决方法
  2. 鸿翼归档:释放企业存储压力 提升数据利用效率
  3. [转]ClassLoader的几个概念、类和对象的解释
  4. 运动防水防汗耳机哪个牌子好、防水的运动耳机推荐
  5. 微前端-qiankun
  6. Microsoft Office Professional Plus 2010 在安装过程中出现错误的解决方案
  7. 经验小波变换(EWT)理论基础
  8. HTML 学习笔记 0
  9. 【转】Neutral Density (ND) Filters 中性灰色滤镜
  10. 【汇正财经】C919 商业首飞临近,国产首款大飞机有望进入放量期