最近刚学了C语言,闲来无事,在刷b站时无意中发现了一个猜数游戏的视频,于是我将其改进,并加入了自己的理解,创造了一款猜数游戏plus。本游戏可以自行选择是自己猜计算机随机生成的数还是让计算机猜自己想的数。本套代码适用于C语言新手用来模仿和学习,可能还有少许的bug,望各位大佬发现后能够给我指出来!
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ye "\033[33m"
#define re "\033[0m"
int main() {
srand(time(0));
int x = 0;
head:
printf("请选择你想要进行的游戏。\n输入1你来猜我的数字,输入2我来猜你的数字。\n注意,请勿输入数字以外的内容,否则后果自负。\n");
scanf("%d", &x);
if (x == 1) {
while (1) {
printf("我的朋友,我们来van个游戏吧!猜一猜我心里想的数字是多少!\n");
int x;
int n = rand() % 100;
int i;
for (i = 8; i > 0; i--) {
int c = i - 1;
scanf("%d", &x);
if (x > n) {
printf(ye "大了!" re "小子,你还有%d次机会!\n", c);
} else if (x < n) {
printf(ye "小了!" re "小子,你还有%d次机会!\n", c);
} else {
printf("噢我的上帝啊,这个聪明的家伙居然真的猜中了!\n");
break;
}
if (c == 0) {
printf("呵呵,你已经没机会了。\n");
goto head;
}
}
}
} else if (x == 2) {
int begin = 0, target, g, lower = 0, upper = 101;
while (1) {
agin:
printf("请预想一个1到100之间的正整数,输入114514开始游戏。\n");
scanf("%d", &begin);
if (begin == 114514) {
int i;
lower = 0;
upper = 101;
for (i = 10; i > 0; i--) {
int c = i - 1;
int number = rand() % (upper - lower) + lower;
if (c > 0) {
printf("爷还有%d次机会。爷猜你想的数是:%s%d%s\n", c, ye, number, re);
printf("大了还是小了??(0代表爷猜小了,1代表爷猜对了,2代表爷猜大了):");
scanf("%d", &g);
if (g == 0) {
lower = number + 1;
} else if (g == 1) {
printf("爷猜对了吧,快来夸夸爷~\n");
break;
} else if (g == 2) {
upper = number;
} else {
printf("看得懂汉字吗?建议严查祖上三代。请输入0、1或2。\n");
break;
}
if (lower >= upper) {
printf("你丫玩我呢?你让我猜毛啊!\n");
break;
}
} else if (c == 0) {
printf("爷输了,damn!\n");
goto head;
}
}
} else {
printf("不想玩了是不是?\n");
goto agin;
}
}
} else {
printf("无效输入,请你认真一点。\n");
goto head;
}
return 0;
}