C语言环境下的猜数字游戏

游戏要求:

1.电脑自动生成1-100的随机数

2.玩家猜数字,猜数字的过程中,根据猜测数据的大小给出大了或者小了的反馈,直到猜对,游戏结束。

设计思路:

1.进入游戏必须要有菜单(设计一个菜单)

2.根据菜单指引开始游戏

(1)输入1开始游戏,输入0退出游戏,输入别的数字则输出输入错误

(2)电脑生成一个符合要求的随机数

(3)开始猜数字:分为大了,小了,猜对了;猜错后循环直到猜对。

1.设计一个菜单

2.根据菜单指引开始游戏

1)输入1开始游戏,输入0退出游戏,输入别的数字则输出输入错误

(2)电脑生成一个符合要求的随机数(1-100)

需要用到的函数 rand()函数 srand()函数 time函数

rand()函数:

rand()函数调用需要包含一个头文件#include <stdlib.h>

生成一个伪随机数,范围在0-RAND_MAX之间,大部分编译器显示是32767,为什么叫伪随机数呢?

因为rand()函数生成的随机数不管运行多少次结果都是一样的。种子默认为1。

srand()函数:

同样的调用该函数需要包含一个头文件#include <stdlib.h>

通过srand函数的参数seed来设置rand函数生成随机数的种子。

time函数:

time函数会返回当前的日历时间,其实返回的是1970.1.1,0:00到程旭运行时间的差值,单位是秒。在这个游戏里,让time函数返回时间戳,time(NULL)。

那怎么生成1-100的随机数呢?

//1.生成随机数 //2.对99取余操作  3.//再加一。

(3)开始猜数字:分为大了,小了,猜对了;猜错后循环直到猜对。

编译环境是VS2022,总代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
menu()
{
    printf("********************\n");
    printf("**** 1.进入游戏 ****\n");
    printf("**** 0.退出游戏 ****\n");
    printf("********************\n");
    printf("输入>>  ");
}
guess()
{
    srand((unsigned int)time(NULL));
    int r = rand();
    r = r % 99 + 1;
    do//先玩一次
    {
        int figure;
        printf("请输入一个值,范围在1-100 ");
        scanf("%d", &figure);//输入一个值
        if (figure < r)
            printf("猜小了\n");
        else if (figure > r)
            printf("猜大了\n");
        else {
            printf("恭喜您,猜对了\n");
            break;
        }
    } while (1);
}
int main()
{
    menu();
    int input;
    scanf("%d", &input);
    switch (input)//根据输入情况不同做出不同的反应。
    {
    case 0:break;
    case 1:guess();
        break;
    default: 
        printf("输入错误\n"); break;
    }
    return 0;
}

******给游戏加上限制次数的功能:需要加入一个变量count

恳请大家批评指正!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值