猜数字游戏
游戏介绍
1. 电脑随机生成一个1-100之间的数字
2. 玩家猜数字
~ 如果猜对了,就提示:猜对了
~ 如果猜错了,就提示:猜大了,或者猜小了,直到猜正确
游戏制作过程
1.制作一个菜单
void menu()
{
printf("*****************************\n");
printf("********* 1. play *********\n");
printf("********* 0. exit *********\n");
printf("*****************************\n");
}
2.游戏的实现过程
void game()
{
//1.电脑生成随机数
int ret = rand() % 100 + 1;// 9~99 + 1 --> 1~100
//2.玩家的数字
int guess = 0;
//3.电脑判断
while (1)
{
printf("请输入一个数字:>");
scanf("%d", &guess);
if (guess < ret)
{
printf("猜小了,请继续。\n");
}
else if (guess > ret)
{
printf("猜大了,请继续。\n");
}
else
{
printf("恭喜你~猜对了!\n");
break;
}
}
}
rand()函数
C语言中用来产生一个随机数的函数。
rand函数界限: RAND_MAX 0x7fff
rand产生一个0-0x7fff的随机数,即最大是32767的一个数
rand函数原型:
#include <stdlib.h>
int rand(void);
rand函数的使用
如果想要表示一个数是从0开始到最大值的,比如说,想要产生一个0-99之间的随机数,那么用法如下
int num = rand() % 100;
如果想要产生一个数是从1开始到最大值的,比如说,想要产生一个1-100之间的随机数,那么用法如下
int num = rand() % 100 + 1;
需要注意最后+1和不+1的区别,+1的最小值是1,不+1的最小值是0
详细了解rand()
代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int input = 0;
//设置随机数的生成起点-不要频繁调用
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch(input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,请重新输入!\n");
break;
}
} while (input);
return 0;
}