• 小实例 hangman game


    代码

    #include <bits/stdc++.h>
    using namespace std;
    int bk[110];
    string sj(int t)
    {
    	string ans="";
    	for(int i=0;i<t;i++)
    	ans=ans+char((rand()%26)+'a');
    	return ans;
    }
    main()
    {
    	srand(time(0));
    	cout<<"hangman游戏总共有6次猜的机会,可以选择难度
    ";
    	cout<<"easy--5个字母组成的单词
    normal--8个字母组成的单词
    hard--12个字母组成的单词
    lunatic--26个字母组成的单词
    ";
    	while(1)
    	{
    		int sum;
    		cout<<"你选择的难度为
    请输入easy,normal,hard或者lunatic
    ";
    		f1:
    		string e;
    		cin>>e;
    		if(e=="easy")
    		sum=5;
    		else if(e=="normal")
    		sum=8;
    		else if(e=="hard")
    		sum=12;
    		else if(e=="lunatic")
    		sum=26;
    		else 
    		{
    			cout<<"你输入了非法的选项请重新输入!!!
    ";
    			goto f1; 
    		}
    		string a=sj(sum);
    		int num=6;
    		memset(bk,0,sizeof(bk));
    		//cout<<a<<endl;
    		cout<<"请输入一个字母
    ";
    	while(1)
    	{
    		f2:
    		string t;
    		cin>>t;
    		if(t.size()>1)
    		{
    			cout<<"输入了多个字母请重新输入
    ";
    			goto f2;
    		}
    		int f,ff;
    		f=1;
    		ff=0;
    		for(int i=0;i<a.size();i++)
    		if(a[i]==t[0])
    		{
    			bk[i]++;
    			if(bk[i]==1)
    			f=0;
    			else
    			ff=1;
    		}
    		int ac=1;
    		for(int i=0;i<a.size();i++)
    		if(bk[i]==0)
    		{
    			ac=0;
    			break;
    		}
    		if(ac)
    		{
    			cout<<"--------------------------------------------
    
    ";
    			cout<<"恭喜你完全猜出来了!!!你还剩余<<"<<num<<">>次机会
    ";
    			cout<<"原单词是
    ";
    			for(int i=0;i<a.size();i++)
    			{
    				if(bk[i]!=0)
    				cout<<a[i]<<" ";
    				else
    				cout<<"_ ";
    			}
    			cout<<endl;
    			cout<<"--------------------------------------------
    
    ";
    			break;	
    		}	
    		if(f)
    		{
    			num--;
    			cout<<"--------------------------------------------
    ";
    			if(f&&!ff)
    			cout<<"你猜的字母在原单词中没有出现!!!
    ";
    			else if(ff)
    			cout<<"你猜了一个你已经猜过的正确的字母!!!
    "; 
    			if(!num)
    		{
    			cout<<"--------------------------------------------
    
    ";
    			cout<<"你已经失败了!!!hangman已经完成了!!!
    ";
    			cout<<"原单词是
    ";
    			for(int i=0;i<a.size();i++)
    			cout<<a[i]<<" ";
    			cout<<endl;
    			cout<<"你最终猜到的是
    ";
    			for(int i=0;i<a.size();i++)
    			{
    				if(bk[i]!=0)
    				cout<<a[i]<<" ";
    				else
    				cout<<"_ ";
    			}
    			cout<<"
    ";
    			cout<<"--------------------------------------------
    
    ";
    			break;
    		}
    			cout<<"剩余次数为<<"<<num<<">>次
    
    ";
    			cout<<"--------------------------------------------
    
    ";
    			cout<<"请输入一个字母
    ";
    		}
    		else 
    		{
    			cout<<"--------------------------------------------
    ";
    			cout<<"恭喜你猜对了一个正确的字母,此时的单词是
    ";
    			for(int i=0;i<a.size();i++)
    			{
    				if(bk[i]!=0)
    				cout<<a[i]<<" ";
    				else
    				cout<<"_ ";
    			}
    			cout<<endl<<endl;
    			cout<<"--------------------------------------------
    
    ";
    			cout<<"请输入一个字母
    ";
    		}
    	}
    	}
    }
    
  • 相关阅读:
    Mac环境下svn的使用
    开发中常见问题集锦
    【C语言】07基本语句和运算
    【C语言】05printf和scanf函数
    【C语言】03第一个C程序代码分析
    【C语言】06基本数据类型
    【C语言】04函数
    【C语言】01C语言概述
    让UIWebView弹出键盘上的按钮显示中文
    【C语言】02第一个C程序
  • 原文地址:https://www.cnblogs.com/baccano-acmer/p/9784931.html
Copyright © 2020-2023  润新知