作者的隨機數遊戲

作者的隨機數遊戲

代碼

#include<bits/stdc++.h>
#define random(x) (rand()%x)
using namespace std;
void pin(int a)
{
	if(a<8)
	{
		printf("你沒有一次錯誤,得到了A級\n");
	}
	if(a>=8&&a<=12)
	{
		printf("你的錯誤不多,得到了B級\n");
	}
	if(a>12&&a<=20)
	{
		printf("你的錯誤很多,C級\n");
	}
	if(a>20) printf("太差了,D級\n");	
}
int mmm(int a)
{
	int s=1;
	for(long long i=1;i<=9999999999999;i++)
	{
		s=s*2;
		if(s>a)
		return i;
	}
}
int main()
{
	int s,a,q;
    srand((int)time(0));
	s=random(100)+1;
	printf("歡迎遊玩猜數遊戲V1.1.0版本,系統會隨機選定一個數,請猜出他\n"); 
	printf("本遊戲有三種模式,1爲娛樂模式,2爲闖關模式,3爲自定義模式,4爲讓電腦猜模式。請選擇模式!\n");
	scanf("%d",&q);
	if(q==1||q==2||q==3||q==4)
	printf("選擇成功,祝您遊玩愉快\n");
	else
	{
		cout<<"不和你玩了";
		system("pause");
		return 0;
	}
	if(q==1||q==2)
	printf("悄悄地提醒你:此數在1~100之間\n");
	if(q==1)
	{
		for(long long i=1;i<=999999999999999999999999;i++)
		{
			scanf("%d",&a);
			printf("\n"); 
			if(a>=1&&a<=100)
			{
					if(a>s)
				{
					printf("你猜的數比系統選中的數大\n");
				}
				if(a<s)
				{
					printf("你猜的數比系統選中的數小\n");
				}
				if(a==s)
				{
					printf("你猜的數和系統選中的數一樣\n你共計猜了%d次\n",i);
					pin(i);
					system("pause");
					return 0;
				}
			}
			else
			{
				printf("你耍賴,不跟你玩了\n");
				system("pause");
				return 0;
			} 		
		}
	}
	if(q==2)
	{
		s=random(100)+1;
		for(int i=15;i>=7;i--)
		{
			int f=0;
			printf("歡迎你來到第%d關,你有%d次猜的機會\n",15-i+1,i);
			for(int j=1;j<=i;j++)
			{
				scanf("%d",&a);
				printf("\n");
				if(a>=0&&a<=100)
				{
					if(a>s)
						printf("你猜的數比系統選中的數大\n");
					if(a<s)
						printf("你猜的數比系統選中的數小\n");
					if(a==s)
					{
						printf("你猜的數和系統選中的數一樣\n你共計猜了%d次,\n你過關了\n",j);
						f++;
						break;	
					}
				}
				else
				{
					printf("你耍賴,不跟你玩了\n");
					system("pause");
					return 0;
				} 	
			}	
			if(f==0)
			{
					printf("你失敗了\n");
					system("pause");
					return 0;
			}		
		}
		printf("你通關了\n");
		system("pause");
		return 0;	
	}
	if(q==3)
	{
		printf("請輸入你要猜1~幾\n");
		int a1;
		scanf("%d",&a1);
		s=random(a1)+1;
		printf("選擇成功,你一共有%d次機會\n",mmm(a1));
		for(int i=1;i<=mmm(a1);i++)
		{
			scanf("%d",&a);
			printf("\n");
			if(a>=0&&a<=a1)
			{
				if(a>s)
					printf("你猜的數比系統選中的數大\n");
				if(a<s)
					printf("你猜的數比系統選中的數小\n");
				if(a==s)
				{
					printf("你猜的數和系統選中的數一樣\n你共計猜了%d次,\n你成功了\n",i);
					system("pause");
					return 0;	
				}
			}
			else
			{
				printf("你耍賴,不跟你玩了\n");
				system("pause");
				return 0;
			} 	
		}
		printf("你失敗了\n");
		system("pause");
		return 0;
	}
	if(q==4)
	{
		cout<<"請自己想一個1~100的數,如果我猜對了,輸入1,小了輸出2,大了輸出0";
		int awm=50,a,i=0;
		while(1)
		{
			cout<<endl<<awm<<endl;
			cin>>a;
			i++;
			if(a==1)
			{
				cout<<"我猜了"<<i<<"次"<<" 厲害嗎?"<<endl; 
				return 0;
				system("pause");
			}
			if(a==2)
			{
				awm+=(101-awm)/2;
			}
			if(a==0)
			{
				awm=awm/2;
			}
			if(awm==100&&a==2||awm==1&&a==0)
			{
				cout<<"你耍賴,不和你玩了";
				return 0;
				system("pause");
			}
		}
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章