刽子手游戏

游戏规则,计算机想一个单词让你猜,你每次可以猜一个字母,如果单词里有那个字母,所有该字母都会显示出来,如果没有那个字母
则计算机会在一副“刽子手”画上填一笔,这幅画一共需要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;
}

posted on 2016-05-21 17:31  我是蒟蒻  阅读(116)  评论(0编辑  收藏  举报

导航