C语言实现简略的猜数字小游戏

在咱们学习完C语言根本数据类型以及运算、分支构造、循环构造、函数的基础知识当前,能够尝试写一点乏味的小游戏,实现非常简单,大家能够一起入手尝试起来哦~

游戏实现

C语言实现的猜数字游戏非常简略,次要由以下三个模块组成:

  • 菜单模块
  • 游戏模块
  • 主函数模块
  • 须要援用的头文件

本程序调用rand函数,心愿大家看到不要慌乱,应用办法简略,将在主函数模块提及,大家模拟应用即可,除此之外该程序无任何难点,大家肯定要本人尝试写一下哦~

菜单模块

void menu(){    //打印游戏菜单    printf("###################################\n");    printf("###################################\n");    printf("##########输出1:游戏开始##########\n");    printf("##########输出0:游戏完结##########\n");    printf("###################################\n");    printf("###################################\n");}

游戏菜单实现非常简单,次要应用输入函数打印一个动态繁难的菜单,置信大家写过第一个C语言程序HelloWorld的话也肯定会写这个。

菜单模块打印一个文本提醒,无返回值,所以函数类型为空类型(void),也不须要任何的函数参数。


游戏模块

void game(){    //定义并初始化guess 用来寄存玩家猜想的数字    int guess = 0;    //调用rand函数生成随机数,而后管制生成一个1-100之间的随机数m    int m = rand()%100+1;    //开始猜数字游戏 直到猜对数字完结本轮游戏    while (1)    {        printf("请输出你猜的数字\n");        //输出玩家猜的数字        scanf("%d", &guess);        //玩家所猜数字比随机生成数小        if (guess < m)            printf("猜小了\n");        //玩家猜对数字打印猜对并完结本轮游戏        else if (guess == m)        {            printf("猜对了\n");            break;        }        ////玩家所猜数字比随机生成数大        else            printf("猜大了\n");    }}

game函数无返回值,所以函数类型为空。

实现思路:定义guess变量寄存玩家所猜数字,而后调用rand函数生成一个随机数m,应用while循环进行判断guess和m大小,玩家依据游戏提醒一直输出数字,直到猜对数字完结本轮游戏

主函数模块

int main(){    int input = 0;    //在调用 rand 之前,必须应用 srand 函数为伪随机数生成器进行种子化(语言规定的,这里不了解能够本人去百度深刻理解rand函数)    //生成随机数时调用了time函数 依据本地工夫生成一个随机数(精确的说应该是工夫戳,这里不了解能够本人去深刻百度理解time函数)    //srand函数的类型是unsign int,而time返回值类型为int,所以要进行强制类型转换    srand((unsigned int)time(NULL));    do    {        //调用游戏菜单函数        menu();        //用户抉择开始或完结        printf("请输出一个数字抉择是否开始->:\n");        scanf("%d", &input);        if (input == 1)            //调用游戏函数            game();        else if (input == 0)            printf("游戏完结\n");        else            printf("非法输出\n");    } while (input);    return 0;}
主函数模块依据本地工夫生成随机数,应用do-while循环依据用户输出进行相应的操作提醒。

须要援用的头文件

#include<stdio.h>#include<stdlib.h>#include<time.h>
rand函数须要援用第二个头文件,time函数须要援用第三个头文件。