作者的隨機數遊戲
代碼
#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");
}
}
}
}