一、首先我们想到的是游戏的主界面目录
设置一个 void menu()
void menu()
{
printf("**********************\n");
printf("***1. play 0.exit****\n");
printf("**********************\n");
}
二、其次我们设置游戏的进入和退出等。
1、采用do while循环,保证至少执行一次。
do
{
menu();
printf("请选择>:");
scanf("%d",&input);
switch (input) //判断input的值
{
case 1:
game();//猜数字的过程
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
//switch 语句判断完了以后进入do while语句。
} while (input); //当input等于0的时候,为假直接退出循环。
2、内置 switch语句,对input的输入值进行判断,输入1就是进入,输入零就是退出,
三、对游戏内容设置一个game函数。
1、猜数字,需要先自动生成一个随机数给我们来猜。
这里随机数生成运用了时间戳的概念。
srand((unsigned int)time(NULL)); //null空指针
2、采用while循环来进行重复猜数字游戏。
3、 内嵌 if 语句,作为猜大或猜小的提醒。
直到猜对了,跳出循环。
/*猜数字游戏
1、电脑会生成一个随机数
2、猜数字
3、游戏至少运行一次,因此可以用do while循环*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//RAND_MAX 32767
//创建函数
void menu()
{
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),本质长整形
ret = rand()%100+1; //模100的余数是0-99,加1就是0-100
//printf("%d\n",ret);
//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)); //null空指针
do
{
menu();
printf("请选择>:");
scanf("%d",&input);
switch (input) //判断input的值
{
case 1:
game();//猜数字的过程
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
//switch 语句判断完了以后进入do while语句。
} while (input); //当input等于0的时候,为假直接退出循环。
return 0;
}