制作一个这样的小游戏要有清晰的思路
1.电脑随机生成一个随机数
2.猜大小
3.猜大了/猜小了/恭喜你,猜对了
下面来写代码,在代码中需要用到几个函数
(1)rand()函数,用于生成随机数(如果种子不变,rand()函数将生成相同的随机数序列。)
(2)srand()函数,用于设置rand()函数生成随机数所使用的种子(种子是一个整数,其值决定随机数生成的起始点。)
(3)time()函数,可以得到系统的时间,返回一个long long int类型的数(时间戳),来表示当前的时间,因为时间是一直在变化的,所以把时间戳作为srand()函数的种子可以有效的实现随机数生成起始点的不断变化,这样,rand()函数将不会生成相同的随机数序列。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a = 0; // 用于存储用户的选择(1表示开始游戏,其他表示退出)
int input = 0; // 用于存储用户猜测的数字
srand(time(NULL)); // 初始化随机数生成器,使用当前时间作为种子
int suijishu = rand() % 100 + 1; // 生成一个1到100之间的随机数(包含1和100)
// 打印游戏菜单
printf("####################\n");
printf("#####1.play#########\n");
printf("#####2.exit#########\n");
printf("####################\n");
// 读取用户的选择
scanf("%d", &a);
// 根据用户的选择执行相应的操作
if (a == 1)
{
printf("请输入数字(1--100):"); // 提示用户输入猜测的数字
while (1) // 进入一个无限循环,直到用户猜对数字
{
scanf("%d", &input); // 读取用户输入的数字
if (input > suijishu)
printf("猜大了\n"); // 如果用户猜的数字大于随机数,提示猜大了
else if (input < suijishu)
printf("猜小了\n"); // 如果用户猜的数字小于随机数,提示猜小了
else
{
printf("恭喜你,猜对了\n"); // 如果用户猜对了数字,打印恭喜信息
break; // 跳出循环,游戏结束
}
}
}
else
printf("游戏退出"); // 如果用户选择退出,打印游戏退出信息
return 0; // 程序正常结束
}