跟随老师做出来的“猜数字”小游戏,快来试试吧!根本停不下来!(doge)
//猜字游戏
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void meum()
{
printf("****************************\n");
printf("****1.play 0.exit****\n");
printf("****************************\n");
}
void game()
{
//1.生成一个随机数
int ret=0;
int guess=0;//接收猜的数字
//用时间戳来设置随机数的生成起始点
//time_t time(time_t*timer)
//time_t
ret=rand()%100+1;//产生1-100之间的随机数
//2.猜数字
while(1)
{
printf("请猜数字:");
scanf("%d",&guess);
if(guess>ret)
{
printf("猜大了\n");
}
else if(guess<ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了!\n");
break;
}
}
}
int main()
{
int input=0;
srand((unsigned int)time(NULL));
//设置时间戳,随机数根据时间的改变而改变,
//所以可以一直产生不同的随机数。
do
{
meum();
printf("请输入:");
scanf("%d",&input);
switch(input)
{
case 1:game();//猜数字游戏
break;
case 0:printf("退出游戏");
break;
default:
{
printf("输入错误\n");
}
}
}
while(input);
return 0;
}
思路是:
1.产生一个随机数,当然随机数的范围可以自己设定。(本文中产生随机数的范围是1-100)。
随机数的产生使用了时间戳的概念,原因是rand()函数可以产生随机数,但是每次启动游戏所产生的的随机数都是固定的,并不符合我们的预期,通过查阅资料,我们了解到需要使用srand()函数,给括号中赋予不同的值,便可以产生不同的随机数。于是根据以上条件,我们想到了时间,时间是无时无刻都在改变的,所以加入time()函数,用以到达我们的目的。
2.猜数字
这一部分比较容易,由于游戏至少需要运行一次,所以选用了do while 循环来实现。
有兴趣的同志可以试一试哦!