猜数字小游戏制作

前言
本期浅来制作一个猜数字的小游戏,玩法很简单,即随机输入一个数字,猜错则重新来,猜对则回答正确

1.源码

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//猜字谜小游戏:游戏界面->按钮选择是否游戏->生成随机数开始猜数字
void menu()
{
	printf("       欢迎来到猜字谜小游戏\n");
	printf("           按1进入游戏\n");
	printf("           按0退出游戏\n");
}
//接下来要创建游戏环节的函数了
void game()
{
	//要生成随机数,即需要用到rand函数,注意其函数的头文件为<stdlib.h>
	int ret = rand() % 100 + 1;// rand() % n的意思即其余数的范围在0~n,所以该步骤的意义是将随机数的值域定在[1,100]
	//若只有rand函数,每次代码执行随机数都会一样
	//所以为了设置随机数的不同,要引入时间戳(永远变化的东西),又涉及了新的头文件<time.h>
	srand((unsigned int)time(NULL));//NULL意为空指针,而因为time返回值的类型为time_t类型,而srand需要unsigned int类型,所以在前面加个括号修改下类型即可
	int a = 0;
	while (1)
	{
		scanf("%d", &a);
		if (a < ret)
		{
			printf("太小了bro\n");
			printf("再输入:");
		}
		else if (a > ret)
		{
			printf("太大了bro\n");
			printf("再输入:");
		}
		else
		{
			printf("恭喜答对,根本难不倒你!我的bro\n");
		}
	}

}
int main()
{
	srand((unsigned int)time(NULL));
	int input = 0;
	do {
		menu();
		printf("请选择:");
		scanf("%d", &input);
		switch (input)
		{
		case 1:game();
		case 0:printf("退出游戏");
		default:printf("输入错误");

		}
	} while (input);//当input=0时为假,则不再进行循环,即退出游戏了

	return 0;

}

2.源码解析

在制作过程中,我们需要先明确所需要的程序步骤

  1. 第一个我们需要打开界面的菜单,所以我们首先要创建一个包含菜单的内容函数
  2. 是否进入游戏的按钮,这里就需要用到scanf函数
  3. 接下来需要对我们输入的按钮进行回应的程序,而因为我们的输入情况分多种,这里可以用switch语句来接受我们的输入
  4. 而后最重要的是游戏环节,而这时候就需要取创建游戏的内容函数,而游戏种需要包含哪些重要点呢?
    5.输入函数的设置(即scanf),随机数的生成,随机数的设置,而接下来,我将着重分析后两者
随机数的生成

随机数的生成涉及到了rand函数,而使用rand函数时一定要记得引用<stdlib.h>头文件,源码中ret = rand() % 100 + 1; // rand() % n的意思即其余数的范围在0~n,所以该步骤的意义是将随机数的值域定在[1,100]

随机数的设置

首先先解答为何还要对随机数进行再设置,因为倘若不设置,每次代码运行,生成的随机数都会一模一样,所以,要想每次生成的随机数不同,则需要为rand函数设置一个永远变化的量,而这又涉及了 time函数,而其的头文件为<time.h>,源码中srand((unsigned int)time(NULL)); //NULL意为空指针,而因为time返回值的类型为time_t类型,而srand需要unsigned int类型,所以在前面加个括号修改下类型即可
注意:将srand函数放置在main主函数而不放在while循环中,是因为前者全程只调用一次数据,而后者每次循环都调用,而如果循环时间间隔短,会导致每次生成的随机数很相邻

游戏试玩

在这里插入图片描述

srand函数

srand函数是C和C++标准库中的一个随机数生成函数,它用于设置伪随机数生成器的种子。srand函数需要传入一个整数作为参数,该整数将被用作种子来初始化随机数生成器。通常情况下,我们会使用当前时间作为种子,以获取每次程序运行时不同的随机数序列。

使用srand函数的基本步骤如下:

  1. 在你的代码中包含头文件 cstdlib(C)或 stdlib.h(C++)。
  2. 在需要产生随机数之前,使用 srand 函数设置种子。例如,可以使用 srand(time(NULL)) 来使用当前时间作为种子。
  3. 通过调用 rand 函数来生成随机数。

以下是一个简单的示例,展示了如何使用 srandrand 生成随机数:

#include <iostream>
#include <cstdlib>
#include <ctime>

int main() {
    // 设置种子为当前时间
    srand(time(NULL));
    
    // 生成并打印10个随机数
    for (int i = 0; i < 10; i++) {
        int randomNum = rand();
        std::cout << randomNum << std::endl;
    }
    
    return 0;
}

值得注意的是,由于 rand 函数生成的是伪随机数,所以在每次程序执行时,如果使用相同的种子值,则会得到相同的随机数序列。因此,在实际使用中,我们通常使用时间作为种子来获取不同的随机数序列。
本期游戏制作到此结束,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值