之前做课程设计无意中发现了这个好玩的游戏,于是就抱着做着玩的心态开始用c写这个东西,虽然东西不够精致,但是也没有太大瑕疵,希望各位大神们能给出点意见,也希望这篇小代码能给您帮助。(ps:游戏排行榜只能存储当下游戏的成绩,若退出则清空成绩)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
void action0();
void action1();//游戏区
void action2();//排行榜
void action3();//帮助
void action4();//作弊
void action5();//退出游戏
void action6();//作弊初级
void action7();//作弊中级
void action8();//作弊高级
int i;
struct game//结构
{
int scorce;//成绩
char name[100];//姓名
}paihangbang[9];
void input()//输入默认的成绩和姓名10个
{
for (i=0;i<10;i++)
{
paihangbang[i].scorce=10;
strcpy(paihangbang[i].name,"菜鸟i");
}
}
void action1()
{
system("CLS");
int a,b,c,d,e,f,g,h,x,p;
int z;
char c1;
srand(time(NULL));//产
a=1+(rand()%9); //生
b=1+(rand()%9); //随
c=1+(rand()%9); //机
d=1+(rand()%9); //数
e=a+b+c+d;
printf("***************************************\n 游戏开始 \n *****************************\n");
printf("随机产生的四个十以内的数字之和为:\n%d\n",e);
printf("请正确蒙出这四个随机数字的值和位置顺序\n");
for (x=1;x<11;x++)//十次循环
{
scanf("%d%d%d%d",&f,&g,&h,&i);
system("CLS");
if (a==f&&b==g&&c==h&&d==i)
{
printf("恭喜您,蒙对了!!!\n");
break;
}
else
{
printf("对不起,您蒙的答案错误,请重新蒙\n");
}
}
if (x<10)
{
printf("游戏成功\n您的分数为:%d\n",x);
for (i=0;i<10;i++)
{
if (x<paihangbang[i].scorce)
{
printf("恭喜您获得了进入排行榜的资格,是否加入排行榜同大师们一较高下?\n1.YES!!!\n2.NO!!!\n");
scanf("%d",&z);
c1=getchar();
system("CLS");
if (z==1)
{
paihangbang[i].scorce=x;//把成绩输进结构体
printf("请输入姓名:\n");
scanf("%s",&paihangbang[i].name);
c1=getchar();
system("CLS");
break;
}
}
else if (z==2)
{
printf("很遗憾,您错失了机会\n");
}
}
}
else
{
printf("真正的答案为:%d %d %d %d",a,b,c,d);
printf("游戏失败\n辣鸡,智商是硬伤啊哈哈哈哈哈\n");
}
printf("请选择继续游戏、返回菜单或者退出游戏\n1.继续游戏\n2.菜单\n0.退出游戏\n");
scanf("%d",&p);
c1=getchar();
system("CLS");
if (p==1)
action1();
else
if (p==0)
printf("谢谢您的光临\n祝您生活愉快\n再见:-D\n");
else if (p==2)
action0();
}
void action2()
{
system("CLS");
int p;
char c;
printf(" 排行榜 \n");
for (i=0;i<10;i++)
{
printf("第%d位: %d %s \n",i+1,paihangbang[i].scorce,paihangbang[i].name);
}
printf("请选择返回菜单或者退出游戏\n\n1.菜单\n0.退出游戏\n");
scanf("%d",&p);
c=getchar();
system("CLS");
if (p==0)
printf("谢谢您的光临\n祝您生活愉快\n再见:-D\n");
else if (p==1)
action0();
}
void action3()
{
system("CLS");
int p,l,z;
char c;
printf("尊敬的有序用户您好\n如果您选择“帮助”选项\n这说明您根本没玩过此类游戏或者对此游戏规则毫不清楚\n不过请放心\n既然您点击了这个选项\n`````````````````````\n也不会给您提供帮助的哈哈哈哈菜鸟\n");
printf("\n请给此游戏打分服务\n1.满意\n2.非常满意\n3.特别满意\n4.真辣鸡\n");
scanf("%d",&p);
system("CLS");
if (p==4)
printf("说你辣鸡你还不服气了?\n 菜鸟哈哈哈哈\n");
else
if (p==1)
{
printf("请选择3特别满意\n谢谢\n");
scanf("%d",&l);
system("CLS");
if (l==3)
printf("游戏规则如下:\n\n有四个数字\n您有10此机会猜这4个数字的值和位置\n若在十次之内猜对\n则游戏成功\n否则游戏失败\n您将收到来自在下的无情嘲讽\n成绩计算按你用的次数计算\n猜的次数越少成绩越高\n");
else
printf("不听话是不会告诉你规则的哈哈哈哈\n");
}
else
if (p==2)
{
printf("请选择3特别满意\n谢谢\n");
scanf("%d",&l);
system("CLS");
if (l==3)
printf("游戏规则如下:\n\n有四个数字\n您有10此机会猜这4个数字的值和位置\n若在十次之内猜对\n则游戏成功\n否则游戏失败\n您将收到来自在下的无情嘲讽\n成绩计算按你用的次数计算\n猜的次数越少成绩越高\n");
else
printf("你丫的就是个辣鸡!!!\n");
}
else
if (p==3)
printf("游戏规则如下:\n有四个数字\n您有10此机会猜这4个数字的值和位置\n若在十次之内猜对\n则游戏成功\n否则游戏失败\n您将收到来自在下的无情嘲讽\n成绩计算按你用的次数计算\n猜的次数越少成绩越高\n");
else printf("菜鸟瞎输什么?\n");
printf("请选择返回菜单或者退出游戏\n1.菜单\n0.退出游戏\n");
scanf("%d",&z);
c=getchar();
system("CLS");
if (z==1)
action0();
else
if (z==0)
printf("谢谢您的光临\n祝您生活愉快\n再见:-D\n");
}
void action4()
{
system("CLS");
int p,l;
char c;
printf("作弊功能开启\n");
printf("请选择继续游戏、返回菜单或者退出游戏\n1.继续游戏\n2.菜单\n0.退出游戏\n");
scanf("%d",&p);
c=getchar();
system("CLS");
if (p==1)
{
printf("请选择要使用的作弊等级\n1.初级\n2.初级\n3.高级\n");
scanf("%d",&l);
if (l==1)
{
system("CLS");
action6();
}
else if (l==2)
{
system("CLS");
action7();
}
else if (l==3)
{
system("CLS");
action8();
}
else printf("输入指令有误\n");
}
else
if (p==0)
printf("谢谢您的光临\n祝您生活愉快\n再见:-D\n");
else if (p==2)
action0();
}
void action5()
{
printf("再见\n");
}
void action0()
{
char start,c;
printf("***************************\n 猜数字游戏 \n**********************\n");
printf("\n\n\n A.开始游戏\n B.排行榜\n C.帮助\n D.作弊\n E.退出游戏\n");
scanf("%c",&start);
c=getchar();
switch (start)
{
case 'A':action1();break;
case 'B':action2();break;
case 'C':action3();break;
case 'D':action4();break;
case 'E':action5();break;
default:putchar('\a');
}
}
void action6()
{
int a,b,c,d,e,f,g,h,x,y,p,z;
char c1;
srand(time(NULL));
a=1+(rand()%9);
b=1+(rand()%9);
c=1+(rand()%9);
d=1+(rand()%9);
e=a+b+c+d;
printf("***************************************\n 游戏开始 \n *****************************\n");
printf("随机产生的四个十以内的数字之和为:\n%d\n",e);
printf("请正确蒙出这四个随机数字的值和位置顺序\n");
printf("第一个数字是%d\n请继续\n",a);
for (x=1;x<11;x++)
{
scanf("%d%d%d%d",&f,&g,&h,&i);
system("CLS");
if (a==f&&b==g&&c==h&&d==i)
{
printf("恭喜您,蒙对了!!!\n");
break;
}
else
{
printf("对不起,您蒙的答案错误,请重新蒙\n");
}
}
if (x<10)
{
printf("游戏成功\n您的分数为:%d\n",x);
for (i=0;i<10;i++)
{
if (x<paihangbang[i].scorce)
{
printf("恭喜您获得了进入排行榜的资格,是否加入排行榜同大师们一较高下?\n1.YES!!!\n2.NO!!!\n");
scanf("%d",&z);
system("CLS");
if (z==1)
{
paihangbang[i].scorce=x;
printf("请输入姓名:\n");
scanf("%s",&paihangbang[i].name);
c1=getchar();
system("CLS");
break;
}
}
else if (z==2)
{
printf("很遗憾,您错失了机会\n");
}
}
}
else
{
printf("真正的答案为:%d %d %d %d",a,b,c,d);
printf("游戏失败\n辣鸡,智商是硬伤啊哈哈哈哈哈\n");
}
printf("请选择继续游戏、返回菜单或者退出游戏\n1.继续游戏\n2.菜单\n0.退出游戏\n");
scanf("%d",&p);
c1=getchar();
system("CLS");
if (p==1)
action1();
else
if (p==0)
printf("谢谢您的光临\n祝您生活愉快\n再见:-D\n");
else if (p==2)
action0();
}
void action7()
{
int a,b,c,d,e,f,g,h,i,x,y,p,z;
char c1;
srand(time(NULL));
a=1+(rand()%9);
b=1+(rand()%9);
c=1+(rand()%9);
d=1+(rand()%9);
e=a+b+c+d;
printf("***************************************\n 游戏开始 \n *****************************\n");
printf("随机产生的四个十以内的数字之和为:\n%d\n",e);
printf("请正确蒙出这四个随机数字的值和位置顺序\n");
printf("前两个数字是%d %d \n请继续\n",a,b);
for (x=1;x<11;x++)
{
scanf("%d%d%d%d",&f,&g,&h,&i);
system("CLS");
if (a==f&&b==g&&c==h&&d==i)
{
printf("恭喜您,蒙对了!!!\n");
break;
}
else
{
printf("对不起,您蒙的答案错误,请重新蒙\n");
}
}
if (x<10)
{
printf("游戏成功\n您的分数为:%d\n",x);
for (i=0;i<10;i++)
{
if (x<paihangbang[i].scorce)
{
printf("恭喜您获得了进入排行榜的资格,是否加入排行榜同大师们一较高下?\n1.YES!!!\n2.NO!!!\n");
scanf("%d",&z);
system("CLS");
if (z==1)
{
paihangbang[i].scorce=x;
printf("请输入姓名:\n");
scanf("%s",&paihangbang[i].name);
c1=getchar();
system("CLS");
break;
}
}
else if (z==2)
{
printf("很遗憾,您错失了机会\n");
}
}
}
else
{
printf("真正的答案为:%d %d %d %d",a,b,c,d);
printf("游戏失败\n辣鸡,智商是硬伤啊哈哈哈哈哈\n");
}
printf("请选择继续游戏、返回菜单或者退出游戏\n1.继续游戏\n2.菜单\n0.退出游戏\n");
scanf("%d",&p);
c1=getchar();
system("CLS");
if (p==1)
action1();
else
if (p==0)
printf("谢谢您的光临\n祝您生活愉快\n再见:-D\n");
else if (p==2)
action0();
}
void action8()
{
int a,b,c,d,e,f,g,h,i,x,y,p,z;
char c1;
srand(time(NULL));
a=1+(rand()%9);
b=1+(rand()%9);
c=1+(rand()%9);
d=1+(rand()%9);
e=a+b+c+d;
printf("***************************************\n 游戏开始 \n *****************************\n");
printf("随机产生的四个十以内的数字之和为:\n%d\n",e);
printf("请正确蒙出这四个随机数字的值和位置顺序\n");
printf("前三个数字是%d %d %d \n请继续\n",a,b,c);
for (x=1;x<11;x++)
{
scanf("%d%d%d%d",&f,&g,&h,&i);
system("CLS");
if (a==f&&b==g&&c==h&&d==i)
{
printf("恭喜您,蒙对了!!!\n");
break;
}
else
{
printf("对不起,您蒙的答案错误,请重新蒙\n");
}
}
if (x<10)
{
printf("游戏成功\n您的分数为:%d\n",x);
for (i=0;i<10;i++)
{
if (x<paihangbang[i].scorce)
{
printf("恭喜您获得了进入排行榜的资格,是否加入排行榜同大师们一较高下?\n1.YES!!!\n2.NO!!!\n");
scanf("%d",&z);
system("CLS");
if (z==1)
{
paihangbang[i].scorce=x;
printf("请输入姓名:\n");
scanf("%s",&paihangbang[i].name);
c1=getchar();
system("CLS");
break;
}
}
else if (z==2)
{
printf("很遗憾,您错失了机会\n");
}
}
}
else
{
printf("真正的答案为:%d %d %d %d",a,b,c,d);
printf("游戏失败\n辣鸡,智商是硬伤啊哈哈哈哈哈\n");
}
printf("请选择继续游戏、返回菜单或者退出游戏\n1.继续游戏\n2.菜单\n0.退出游戏\n");
scanf("%d",&p);
c1=getchar();
system("CLS");
if (p==1)
action1();
else
if (p==0)
printf("谢谢您的光临\n祝您生活愉快\n再见:-D\n");
else if (p==2)
action0();
}
int main()
{
input();
action0();
return 0;
}