在我们进行代码实现前我们需要了解C语言中函数:
1. 函数是什么? 数学中我们常见到函数的概念。但是你了解C语言中的函数吗?
维基百科中对函数的定义:子程序 在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码, 由一个或多个语句块组 成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性。 一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软 件库。
srand函数:
srand是种下随机种子数,你每回种下的种子不一样,用Rand得到的随机数就不一样。为了每回种下一个不一样的种子,所以就选用Time(0),Time(0)是得到当前时时间值(因为每时每刻时间是不一样的了)。
同时需要包含头文件如下:
#include<time.h>
#include<stdlib.h>
srand((unsigned int)time(NULL));//引入时间戳,以便生成随机数
int r = rand()%100+1;//生成一个1-100的随机数
简单来说:srand()是给随机数产生一个种子;time(NULL)就是把当前的时间值作为种子;srand(time(0)):我们可以称它为启动种子,也叫随机种子数,
将猜数字游戏分为三个部分,首先第一个构建整体的游戏流程如下:
int main()
{
srand((unsigned int)time(NULL));//引入时间戳,以便生成随机数
int input = 0;
do
{
meau();
scanf("%d", &input);
switch (input)//进行选择是否进行游戏
{
case 1:
game();
break;
case 0:
printf("退出\n");
default:
printf("输入错误,请重新输入\n");
break;
}
} while (input);
return 0;
}
接着需要定义游戏初始化菜单界面:
//定义一个游戏界面菜单函数
void meau()
{
printf("***************************\n");
printf("*********1、start**********\n");
printf("*********0、exit***********\n");
printf("***************************\n");
}
接着定义game函数:
void game()//定义游戏操作函数
{
int r = rand()%100+1;//生成一个1-100的随机数
int count = 0;
int guess = 0;
do//进行猜数字游戏比较大小
{
count++;
printf("猜一个数字\n");//提醒玩家进行数字输入
scanf("%d", &guess); //进行数字输出
if (guess > r)
{
printf("猜大了\n");
}
else if (guess < r)
{
printf("猜小了\n");
}
else
{
printf("猜对了!!!\n");
}
} while (guess!=r);//猜对后跳出循环,没有猜对继续进行猜数字游戏
printf("猜了%d次\n", count);
}
以下是我们的整个代码:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
//定义一个游戏界面菜单函数
void meau()
{
printf("***************************\n");
printf("*********1、start**********\n");
printf("*********0、exit***********\n");
printf("***************************\n");
}
void game()//定义游戏操作函数
{
int r = rand()%100+1;//生成一个1-100的随机数
int count = 0;
int guess = 0;
do//进行猜数字游戏比较大小
{
count++;
printf("猜一个数字\n");//提醒玩家进行数字输入
scanf("%d", &guess); //进行数字输出
if (guess > r)
{
printf("猜大了\n");
}
else if (guess < r)
{
printf("猜小了\n");
}
else
{
printf("猜对了!!!\n");
}
} while (guess!=r);//猜对后跳出循环,没有猜对继续进行猜数字游戏
printf("猜了%d次\n", count);
}
int main()
{
srand((unsigned int)time(NULL));//引入时间戳,以便生成随机数
int input = 0;
do
{
meau();
scanf("%d", &input);
switch (input)//进行选择是否进行游戏
{
case 1:
game();
break;
case 0:
printf("退出\n");
default:
printf("输入错误,请重新输入\n");
break;
}
} while (input);
return 0;
}
最终进行游戏
这样我们的猜数字游戏就成功实现啦!!!
蟹蟹大家的来访,你们的点赞关注都会是我接下来创作更优质文章的动力~✌🏻️