一、知识
1.了解rand用法,去输入随机值
2.了解Sleep函数
3.了解清屏函数
二、代码
#include<stdio.h>//输入输出头文件
#include<stdlib.h>//清屏函数的头文件
#include<windows.h>//Sleep函数的头文件
#include<time.h>//time函数引用的头文件
void game()//游戏的函数
{
int num;//创造猜的数变量
int i = rand()%100+1;//电脑给的随机的值,1~100,需要srand作为前提,否则不够随机
while (1)//无限循环知道猜对
{
printf("请输入猜数\n");
scanf("%d",&num);//输入猜的数值
if (num > i)//判断猜的数是否大了
printf("猜大了\n");
else if (num < i)//判断猜的数是否小
printf("猜小了\n");
else//猜的数与随机值相等
{
printf(":>");
Sleep(1000);//让代码缓存1000ms
break;//跳出函数
}
}
}
void menu()//猜数字游戏的菜单
{
printf("***************\n");
printf("* 1.play *\n");
printf("* 0.exit *\n");
printf("***************\n");
}
int main()
{
srand((int)time(NULL));/*rand需要srand否则每次进入游戏随价值都是有顺序的,srand的每次数值都要不同,否则每一次的随机值相同所以需要,这时候需要时间戳,视角戳是会随着时间改变,time就可以引用时间戳,但是time()括号里需要输入对应指针,这里我们就需要生成不断变换的整型就行,所以可以放个空指针也就是NULL,由于time返回的值是time_t,是一个长整型的值,srand需要整型的量,所以尽量要给他time_t换成整型*/
int option;//创造选项的变量
do//进入菜单选项的循环
{
system("cls");//清理上一把游戏的界面
menu();
printf("请输入你所选择选项的数\n");
scanf("%d", & option);//输入选择选项
if (option == 1)
game();
else if (option == 0)
break;
else
{
printf("重新输入");
Sleep(1000);
}
}
while (option);
return 0;
}