#include<iostream.h>
#include<windows.h>
#include<time.h>
void choose(); //选择何种操作的函数
void choose_re(); //选择重输或退出操作的函数
void game(); //游戏部分的函数
void choose_re()
{
char choi;
cout<<"您的输入超出范围!!! 重输请输入(r),退出请输入(e) (请注意大小写): ";
cin>>choi;
cout<<endl;
while(choi!='r' && choi!='e')
{
cout<<"您的输入超出范围!!! 重输请输入(r),退出请输入(e) (请注意大小写): ";
cin>>choi;
cout<<endl;
}
if(choi=='r') //若选择重输,则回到一开始选择的那步
{ choose(); }
else // 即choi=='e'时,退出本程序
{
cout<<"\n 欢迎下次再玩!! *_* 拜拜!\n\n";
exit (0);
}
}
void instruction() //游戏说明的函数
{
cout<<"\n 游戏说明\n\n"
<<"这是一个猜“动物”单词的游戏。在选择了“开始游戏”后,"
<<"系统会根据时间随机产生一个单词,如*****形式,"
<<"其中每一个*代表一个字。你一共有七次机会,"
<<"每一次猜错将会显示掉死鬼的一部分,也会把你猜对的字母显示出来作为提示哦!"
<<"七次后,掉死鬼全部显示完毕。若猜对则显示“恭喜!!!”\n";
choose();
}
void choose() //选择何种操作的函数
{
cout<<"\n1.游戏说明 2.开始游戏 3.退出游戏\n\n";
cout<<"请输入序号来进行选择(1,2或者3): ";
char choice;
cin>>choice;
cout<<endl;
while(choice!='1' && choice!='2' && choice!='3')
{ choose_re(); }
if(choice=='1') //选择了游戏说明部分
{ instruction(); }
else if(choice=='2') //选择了开始游戏部分
{ game(); }
else //即(choice==3)时,选择的退出,则退出本程序
{
cout<<"\n 欢迎下次再玩!! *_*\n\n";
exit(0);
}
}
void game() //游戏部分的函数
{
char result[14][15]={"dog","cat","tiger","panda","mouse","bird","monkey","donkey",
"pig","fish","wolf","lion","elephant","rabbit"}; // 系统里的单词库
char right[15]; //存放系统随机选出来的单词
char word[15]; //存放玩家输入的单词
int id; //存放系统随机数,0—9
srand(time(NULL)); //初始化随机数发生器
id=rand()%10;
strcpy(right,result[id]); //将系统随机选出来的单词存放在right里了
cout<<"\n您要猜的单词为:";
for(int t=0;right[t]!='\0';t++)
{ cout<<"*"; }
cout<<"\n\n请输入您的答案: ";
cin>>word;
cout<<endl;
for(int i=1;i<=7;i++)
{
int flag; //存放输入错的次数
for(int j=0;right[j]!='\0';j++)
{
if(right[j]==word[j])
{ cout<<right[j]; }
else
{
cout<<"*";
flag=i;
int t;
for(t=j+1;right[t]!='\0';t++)
{
if(right[t]==word[t])
{ cout<<right[t]; }
else
{ cout<<"*"; }
}
break;
}
}
cout<<endl;
if(j==strlen(right))
{
cout<<"\t恭喜!!恭喜!!!您答对了!! ^_^\n\n";
choose();
}
else
{
switch(flag)
{
case 1:
cout<<" ○\n";
break;
case 2:
cout<<" ○\n";
cout<<" ‖\n";
break;
case 3:
cout<<" ○\n";
cout<<"/‖\n";
break;
case 4:
cout<<" ○\n";
cout<<"/‖\\\n";
break;
case 5:
cout<<" ○\n";
cout<<"/‖\\\n";
cout<<" ‖\n";
break;
case 6:
cout<<" ○\n";
cout<<"/‖\\\n";
cout<<" ‖\n";
cout<<" /\n";
break;
case 7:
cout<<" ○\n";
cout<<"/‖\\\n";
cout<<" ‖\n";
cout<<" /\\\n";
break;
}
if(i==7)
{
cout<<"\n您已经输入了7次!! ";
cout<<"\t正确答案为:"<<right;
cout<<" 再接再励!下次会更好!!\n";
choose();
}
cout<<"\n请第 "<<i+1<<" 次输入您的答案: ";
cin>>word;
cout<<endl;
}
}
}
void main()
{
cout<<"\n 欢迎来到掉死鬼游戏\n";
choose();
}