⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 letter_game.pc

📁 UNIX - AIX 下
💻 PC
字号:
// 猜词游戏,http://www.yesky.com/SoftChannel/72342371928899584/20041118/1877413.shtml#

#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <cctype>
using namespace std;
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));
 char play;
 cout << "Will you play a word game? <y/n> ";
 cin >> play;
 play = tolower(play);
 while(play=='y')
 {
  string first(wordlist[rand()%NUM]);//随机选择单词 
  int length=first.length();
  string player(length,'-');//玩家猜测的单词 
  string badguess;//猜错的字母集合 
  int guesses=10;//猜错的机会 
  char guess;
  cout<<"您有"<<guesses<<"次猜错的机会。\n";
  cout<<"您的单词:"<<player<<'\n';
  while(guesses>0&&player!=first)
  {
   cout<<"请您猜吧!";
   cin>>guess;
   if(badguess.find(guess)!=string::npos||player.find(guess)!=string::npos)
   {
    cout<<"对不起,这个字母您已经猜过了。";
    continue;
   }//判断是否已经猜过 
   int temp=first.find(guess);
   if(temp==string::npos)
   {
    cout<<"啊!猜错了。\n";
    guesses--;
    badguess+=guess;
   }//猜错后的处理 
   else
   {
    player[temp]=guess;
    temp=first.find(guess,temp+1);
    while(temp!=string::npos)//继续搜索该字符,看是否单词中有多个该字符 
    {
     player[temp]=guess;
     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>>play;
 }

 system("PAUSE");
 return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -