则计算机会在一副“刽子手”画上填一笔,这幅画一共需要7笔就能完成,因此你最多只能错6次。注意猜一个已经猜过的字母也算错。
在本题中,你的任务是编写一个“裁判”程序,输入单词和玩家的猜测,判断玩家赢了,(You win.)、输了(You lose.)、还是放弃了(You give up.)
每组包含3行,第一行是游戏编号(-1为输入结束标记),第2行是计算机想的单词,第3行是玩家的猜测。后两行保证只含小写字母
#include <iostream>
#include<string>
#include<cstring>
using namespace std;
string com,play;
int lose,win;
int chance;
int lef; //如起名为left会出现编译错误
void game(char w);
int main()
{
int begin1;
while(cin>>begin1&&begin1!=-1)
{
cin>>com>>play;
lose=0,win=0;
lef=com.size();
chance=7;
int len=play.size();
for(int i=0;i<=len-1;i++)
{
game(play[i]);
if(lose==1||lose==1)
break;
}
if(lose==1)
cout<<"You Lose"<<endl;
else if(win==1)
cout<<"You win"<<endl;
else
cout<<"You give up"<<endl;
}
return 0;
}
void game(char w)
{
int r=0;
int c=com.size();
for(int j=0;j<c;j++)
{
if(w==com[j])
{
lef--;
com[j]=' ';
r=1;
}
}
if(r==0)
chance--;
if(chance==0)
lose=1;
if(lef==0)
win=1;
}