现实生活中我们可能会遇到这样一种情况:当一个地方出现一个数字之后,过了一会儿数字就又消失不见,而这如果再加上一个猜数环节就成了我们的计数小游戏,但这小游戏是如何设计的呢?接下来就让我们看看吧。
首先我们需要定义一个数作为初始的计数游戏数的个数,然后我们回忆一下,如果记错那么游戏会失败,然后就直接退出,但如果回答正确就会加一个数让你继续挑战,因此我们就先在外面套一个死循环,即是
int count = 3;
while(1){
}
而后我们想想里面的内容首先我们得产生一个数字再消失,但如何产生呢?这便需要srand()函数,不过比较时因为两次使用srand函数时间间隔太长,会导致比较时出现错误,所以需要将种子time(NULL)(获取当前系统的时间信息)定义于开始,记作:unsigned int seed = time(NULL),而用它来定义数便会有:
int temp1;
unsigned int seed = time(NULL);
srand(seed);
for(int a = 1;a <= count;a++){
printf("%d",temp1);
}
int temp2;
printf("请输入你的答案:");
srand(seed);
for(int a = 1;a<= count;a++){
scanf("%d",&temp2);
if(temp2 != temp1){
printf("错误 退出!");
exit(EXIT_SUCCESS);
}
}
当这样做了之后一切都结束了是吧?如果这样做了,那你就大错特错了,我们回到上面步骤,当输出值得时候你就确定输出的数一定是随机的吗?因此我们还需要一个rand()函数,而数随机了还不够,我们还需要让数在两秒后消失,于是就需要在上一图我所留空白部分加上Sleep(2000);和system("cls");而后再加一个int old替代int temp1即可
srand(seed);
for(int i = 0; i < count; i++){
int temp2 = rand() % 9 + 1;
printf("%d ",temp2);
}
printf("\n");
Sleep(2000);
int temp;
printf("请输入:");
srand(seed);
for(int i = 0; i < count; i++){
scanf("%d", &temp);
int old = rand() % 9 + 1;
printf("old:%d\n", old);
if (temp != old){
printf("错误 退出!\n");
exit(EXIT_SUCCESS);
}
}
count++;