一个猜数字的小游戏


前言

一个小游戏,自己学一下可以提升自己的兴趣和自信心,我是小白,大佬看看就行了!!!

一、怎么玩这个游戏?

按照提示,1是玩游戏,0是退出游戏;然后他会随机生成一个1到100的整数,我们猜数字,如果猜大了,它会提示你猜大了,同样的,会提示你猜小了,猜中了会提示你“恭喜你猜中了”,然后继续下一次游戏。

二、怎么写代码制作这个小游戏?

1.

先制作一个菜单,提示你输入1开始游戏,0就退出游戏。
如果按1,他会随机生成一个数,我们就开始输入数字;

2.时间戳(生成随机数所用的)了解一下就行,不用懂这个概念

时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在。

3:生成随机数的函数

了解一下生成随机数的函数,是 rand() 函数,调用时先调 srand 函数,srand函数是怎么用的?
int rand( void );//rand可以看出返回值是int类型,无参数。
而且用rand函数需要和调用srand,srand的用法如下图;
一个猜数字的小游戏_第1张图片
无返回值,参数是unsigned int 类型的,而且是配合着time函数一起用的,time函数返回值是long int 类型的,参数是指针,不懂的话就看看了解就行;

4:生成随机数的代码

k = rand() % 100 + 1; //放在game()函数中,每次游戏调用一次;
srand((unsigned int)time(NULL));//放在主函数即可,调用一次就行;

代码实现

#include 
#include 
#include 
void game() {
	int k = 0, guess = 0;
	k = rand() % 100 + 1;//设置1到100的随机数,rand函数就是生成随机数的函数;
	while (1) {
		printf("请猜数字:\n");
		scanf("%d", &guess);
		if (guess < k)
			printf("猜小了\n");
		else if (guess > k)
			printf("猜大了\n");
		else
		{
			printf("恭喜你猜中了!!!\n");
         break;
		}
			
	}
}

void menu() {
	printf("********************************\n");
	printf("****       1:play   0:exit  ****\n");//1玩游戏,0退出游戏
	printf("********************************\n");
}

int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));//时间戳,被rand函数调用时用于设置随机数;
	do {
		menu();//游戏菜单界面
		printf("请确认>\n");
		scanf("%d", &input);
		switch (input) {
		case 1: game();
			break;
		case 0: printf("退出游戏\n");
			break;
		default:printf("选择错误,请重新输入:\n");
			break;
		}
	}
		while (input);
	return 0;
}

一个猜数字的小游戏_第2张图片

总结:

希望大家能够喜欢这个小游戏,也可以动手试试,我可能解释不够详细,望大家原谅!!!

你可能感兴趣的:(c语言)