#include<iostream>
#include<string>
#include<fstream>
#include<cstdlib>
#include<ctime>
#include<cctype>
using namespace std;
const int NUM=26;
const string wordlist[NUM]={
"apiary","beetle","cereal","danger","ensign","florid",
"garage","health","insult","jackal","keeper","loaner","manage",
"nonce","onset","plaid","quilt","remote","stolid","train",
"useful","valid","whence","xenon","yearn","zippy"};
int main()
{
srand(time(0));
char play;
cout<<"Will you play a ward game?<y/n>";
cin>>play;
play=tolower(play);
while(play=='y')
{
string target=wordlist[rand()%NUM];
int length=target.length();
string attempt(length,'-');
string badchars;
int guesses=6;
cout<<"Guess my secret word. It has "<<length
<<" letters, and you guess\n"<<"one letter at time you get "
<<guesses<<" wrong guesses.\n";
cout<<"Your word: "<<attempt<<endl;
while(guesses>0&&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;
}
int 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,loc+1);
while(loc!=string::npos)
{
attempt[loc]=letter;
loc=target.find(letter,loc+1);
}
}
cout<<"Your word: "<<attempt<<endl;
if(attempt!=target)
{
if(badchars.length()>0)
cout<<"Bad choices: "<<badchars<<endl;
cout<<guesses<<" bad guesses left\n";
}
}
if(guesses>0)
cout<<"That's right!\n";
else
cout<<"Sorry, the word is "<<target<<".\n";
cout<<"Will you play another?<y/n>";
cin>>play;
play=tolower(play);
}
cout<<"Bey!\n";
return 0;
}

猜单词游戏(c++)的更多相关文章

  1. 关于切片/截取(slice)和random模块的使用(实例:猜单词小游戏)

    切片和random的使用在源码中都有注释(可以直接下载):https://github.com/NoobZeng/GuessWords 1. README.MD 基于Python的猜单词游戏 猜单词小 ...

  2. Python小游戏 -- 猜单词

    Python初学者小游戏:猜单词 游戏逻辑:就像我们曾经英语学习机上的小游戏一样,电脑会从事先预置的词库中抽取单词,然后给出单词的字母数量,给定猜解次数,然后让玩家进行猜测,并给出每次猜测的正确字母与 ...

  3. python 游戏(猜单词Hangman)

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

  4. C语言猜数字游戏

    猜数字游戏,各式各样的实现方式,我这边提供一个实现方式,希望可以帮到新手. 老程序猿就不要看了,黑呵呵 源代码1 include stdio.h include stdlib.h include ti ...

  5. 不一样的猜数字游戏 — leetcode 375. Guess Number Higher or Lower II

    好久没切 leetcode 的题了,静下心来切了道,这道题比较有意思,和大家分享下. 我把它叫做 "不一样的猜数字游戏",我们先来看看传统的猜数字游戏,Guess Number H ...

  6. java 猜数字游戏

    作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...

  7. Java程序,猜大小游戏

    一个骰子,通常有1.2.3.4.5.6等6种点数.我们将1.2.3记作“小”,将4.5.6记作“大”.猜中显示“猜对了”,猜错记作“猜错了”之类的字样.本程序可以用Java实现. import jav ...

  8. 【原创Android游戏】--猜数字游戏Version 0.1

    想当年高中时经常和小伙伴在纸上或者黑板上或者学习机上玩猜数字的游戏,在当年那个手机等娱乐设备在我们那还不是很普遍的时候是很好的一个消遣的游戏,去年的时候便写了一个Android版的猜数字游戏,只是当时 ...

  9. 【原创Android游戏】--猜数字游戏V1.1 --数据存储,Intent,SimpleAdapter的学习与应用

    --------------------------------------------------------------- V0.1版本 上次做完第一个版本后,发现还有一些漏洞,并且还有一些可以添 ...

  10. python学习笔记 ——python写的猜数字游戏 002

    from sys import exit import random def Arrfor(str): #CONTST = CONTST + 1 artificial = input("请输 ...

随机推荐

  1. Federated Learning004

    联邦学习--笔记004 2023.03.13周一 快中期答辩了(3.20),最近甲流高发期 毕设期间,今天学习了联邦学习的一篇论文---Differentially Private Federated ...

  2. 3D降噪_时域降噪待补充

    视频去噪方法按照处理域的不同可分为空间域.频域.小波域.时域.时-空域去噪等,但是不同域之间的去噪方法会发生重叠现象,或者一种去噪方法会或涉及多个处理域.例如,在时域或时-空域去噪方法中也可使用频域的 ...

  3. Spring6 初始

    Spring6 初始 @ 目录 Spring6 初始 每博一文案: 1. 初始 Spring6 1.1 OCP开闭原则 1.2 依赖倒置原则DIP 1.3 控制反转IoC 2. Spring 初始 2 ...

  4. PlayWright(二十一)- Pytest插件报告

    1.下载 pytest框架有官方的报告pip install pytest-html   下载成功,那我们怎么使用呢?   2.使用 可以直接在配置文件里使用   在 pytest 配置文件中, 增加 ...

  5. 八 Appium常用方法介绍(转)

    由于appium是扩展了Webdriver协议,所以可以使用webdriver提供的方法,比如在处理webview页面,完全可以使用webdriver中的方法.当然在原生应用中,也可以使用. 1.元素 ...

  6. 使用文件批量find

    有时候需要找一批文件传到本地,文件名都不一样.可以先把文件名写到文件里面,一个文件名为一行. 比如: file1.wav file2.wav file3.wav 在命令行执行: for i in `c ...

  7. sqli-labs全通关payload

    less-1: less-2: less-3: less-4: less-5: less-6: less-7: outfile,dumpfile,load_file函数的用法如下所示: less-8: ...

  8. 安装iTerm2和oh-my-zsh

    安装iTerm2和oh-my-zsh 此文是在参考许多教程(见目录:参考)并结合本人安装经历写下的一篇关于iTerm2和oh-my-zsh的认识和超级详细安装教程.全文所有图片均为本人截屏拍摄.希望能 ...

  9. 银河麒麟SP2 auditd服务内存泄露问题

    这几天遇到基于海光服务器的银河麒麟V10 SP2版本操作系统出现内存无故增长问题. 排查发现auditd服务,占用了大量内存. 我的环境是银河麒麟V10 SP2 524,audit版本audit-3. ...

  10. 《Kali渗透基础》13. 无线渗透(三)

    @ 目录 1:无线通信过程 1.1:Open 认证 1.2:PSK 认证 1.3:关联请求 2:加密 2.1:Open 无加密网络 2.2:WEP 加密系统 2.3:WPA 安全系统 2.3.1:WP ...