广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言版猜数字小游戏
  • 874
分享到

C语言版猜数字小游戏

2024-04-02 19:04:59 874人浏览 安东尼
摘要

本文实例为大家分享了C语言版猜数字小游戏的具体代码,供大家参考,具体内容如下 清楚实现目标 做任何一个小项目之前,我们首先都需要明确自己想要实现的目标. 所以猜数字游戏的实现目标是啥

本文实例为大家分享了C语言版猜数字小游戏的具体代码,供大家参考,具体内容如下

清楚实现目标

做任何一个小项目之前,我们首先都需要明确自己想要实现的目标.

所以猜数字游戏的实现目标是啥?

  • 电脑随机给出一个目标数字,玩家进行猜测
  • 电脑会根据玩家猜测的数字,提示猜大了还是小了
  • 直到猜对为止,一轮游戏结束.
  • 游戏结束会询问是否继续.1代表继续,0代表不继续.
  • 游戏模式有3种(简单,普通,困难),对应内容分别为猜25次,15次,5次
  • 游戏会记录你的战绩,在菜单中按2表示查询战绩.

明确逻辑结构

清楚的知道了想要实现的目标,那最开始的步骤就是搭建逻辑结构.

所以逻辑结构是啥呢?

有一个菜单提示,内容为按1代表开始/继续游戏,2代表查询战绩,0代表退出游戏,其他按键提示输入错误

输入2后,会再次跳出菜单.提示输入错误后,可以重新输入命令

输入1后,会询问游戏模式,然后开始.

所以逻辑结构如下:


#include <stdio.h>

int computer = 0; //电脑的战绩
int player = 0; //玩家的战绩
int main()
{
    int input = 0;//键入命令
    do
    {
        menu();//菜单提示模块,后面进行实现
        scanf("%d", &input);  
        switch (input)
        {
            case 0:
                printf("成功退出游戏\n");
                break;
            case 1:
                playgame(); //玩游戏模块,后面进行实现
                store(); //存储战绩模块
                break;
            case 2:
                query();//查询战绩模块,后面进行实现
                break;
        }
    } while (input);
    
    return 0;
}

功能细节实现

菜单模块

按照目标要求,菜单木块代码如下:


void menu()
{
    printf(
           "*******************************************************\n"
           "*******************  0----退出游戏  ********************\n"
           "*******************  1----开始游戏  ********************\n"
           "*******************  2----查询战绩  ********************\n"
           "*******************************************************\n"
           );
}

储存战绩

这个的目标是无论啥时候打开游戏,都会记录之前玩过的成绩.


void store()
{
    FILE* fp = fopen("grade.txt","w+");
    if (fp == NULL)
    {
        exit(-1);
    }
    else
    {
        fprintf(fp,"computer : player = %d : %d\n",computer,player);
    }
    fclose(fp);
}

游戏模块

游戏模块的功能是:

玩家选择游戏模式,

然后电脑首先会随机给出一个玩家需要猜测的数字.

大概提示数字在哪个范围.

玩家开始猜测.并且每猜测一次,都会提示还剩余几次机会.


void playgame()
{
    srand(time(NULL)); //随机数种子
    int target = rand() % 1001;//代表电脑的随机数

    int input = 0, num = 0; //input 代表游戏猜测的数字,num代表猜测剩余次数

    num = mode(); //游戏模式选择模块,后面进行实现

    while (1)
    {
        printf("请输入你认为是答案的数字:\n");
        scanf("%d",&input);
        if (num == 0)
        {
            break;
        }
        if (input > target)
        {
            printf("猜大了,再试试\n");
        }
        else if (input > target)
        {
            printf("猜小了,再试试\n");
        }
        else
        {
            printf("恭喜你,猜对了\n");
            break;
        }
        num--;
        printf("你还剩余%d次机会哦~~~~\n", num);
    }

    if (!num)
    {
        printf("很遗憾,你输了\n");
        computer++; //标记战绩
    }
    else
    {
        printf("恭喜你,你赢了\n");
        player++;
    }
    printf("是否还继续游戏呢?\n");//这一步是提醒玩家是否继续.
}

游戏模式选择


int mode()
{
    char str[20] = { 0 };
    int num = 0;
    printf("请输入游戏模式:简单  普通  困难\n:");
    scanf("%s", str);
    if (strcmp("简单", str) == 0)
    {
        num = 25;
    }
    else if (strcmp("普通", str) == 0)
    {
        num = 15;
    }
    else
    {
        num = 5;
    }

    return num;
}

战绩查询


void query()
{
    FILE* fp = fopen("grade.txt","r");
    int a = 0, b = 0;
    char p[60] = { 0 };
    if (fp == NULL)
    {
        exit(-1);
    }
    else
    {
        fgets(p,60,fp);
        printf("%s\n",p);
    }
    fclose(fp);
    printf("游戏是否继续?\n");
}

成品展示


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int computer = 0; //电脑的战绩
int player = 0; //玩家的战绩

void menu()
{
    printf(
           "*******************************************************\n"
           "*******************  0----退出游戏  *******************\n"
           "*******************  1----开始游戏  *******************\n"
           "*******************  2----查询战绩  *******************\n"
           "*******************************************************\n"
           );
}

int mode()
{
    char str[20] = { 0 };
    int num = 0;
    printf("请输入游戏模式:简单  普通  困难\n:");
    scanf("%s", str);
    if (strcmp("简单", str) == 0)
    {
        num = 25;
    }
    else if (strcmp("普通", str) == 0)
    {
        num = 15;
    }
    else
    {
        num = 5;
    }

    return num;
}

void playgame()
{
    srand(time(NULL)); //随机数种子
    int target = rand() % 1001;//控制数字在0-1000

    int input = 0, num = 0; //input 代表游戏猜测的数字,num代表猜测剩余次数

    num = mode(); //游戏模式选择模块

    while (1)
    {
        printf("请输入你认为是答案的数字(0-1000):\n");
        scanf("%d",&input);
        if (num == 0)
        {
            break;
        }
        if (input > target)
        {
            printf("猜大了,再试试\n");
        }
        else if (input < target)
        {
            printf("猜小了,再试试\n");
        }
        else
        {
            printf("恭喜你,猜对了\n");
            break;
        }
        num--;
        printf("你还剩余%d次机会哦~~~~\n", num);
    }

    if (!num)
    {
        printf("很遗憾,你输了\n");
        computer++; //标记战绩
    }
    else
    {
        printf("恭喜你,你赢了\n");
        player++;
    }
    printf("是否还继续游戏呢?\n");//这一步是提醒玩家是否继续.
}

void query()
{
    FILE* fp = fopen("grade.txt","r");
    int a = 0, b = 0;
    char p[60] = { 0 };
    if (fp == NULL)
    {
        exit(-1);
    }
    else
    {
        fgets(p,60,fp);
        printf("%s\n",p);
    }
    fclose(fp);
    printf("游戏是否继续?\n");
}


void store()
{
    FILE* fp = fopen("grade.txt","w");
    if (fp == NULL)
    {
        exit(-1);
    }
    else
    {
        fprintf(fp,"computer : player = %d : %d\n",computer,player);
    }
    fclose(fp);
}

int main()
{
    int input = 0;//键入命令
    do
    {
        menu();//菜单提示模块,后面进行实现
        scanf("%d", &input);
        switch (input)
        {
        case 0:
            printf("成功退出游戏\n");
            break;
        case 1:
            playgame(); //玩游戏模块,后面进行实现
            store(); //存储战绩模块
            break;
        case 2:
            query();//查询战绩模块,后面进行实现
            break;
        }

    } while (input);
    return 0;
}

小提示:

成品中的战绩查询实际并没有真的实现记录所有次战绩,每次启动程序战绩都会从0:0更新,那么怎么实现这个功能呢?

留给大家思考一下.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C语言版猜数字小游戏

本文链接: https://www.lsjlt.com/news/130952.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言版猜数字小游戏
    本文实例为大家分享了C语言版猜数字小游戏的具体代码,供大家参考,具体内容如下 清楚实现目标 做任何一个小项目之前,我们首先都需要明确自己想要实现的目标. 所以猜数字游戏的实现目标是啥...
    99+
    2022-11-12
  • C语言实现猜数字小游戏
    利用C语言代码实现猜数字小游戏: #include <stdlib.h> #include <stdio.h> #include <time.h&g...
    99+
    2022-11-12
  • C语言怎么猜数字小游戏
    这篇文章主要讲解了“C语言怎么猜数字小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言怎么猜数字小游戏”吧!清楚实现目标做任何一个小项目之前,我们首先都需要明确自己想要实现的目标.所...
    99+
    2023-06-17
  • 利用C语言实现猜数字小游戏
    本文实例为大家分享了C语言实现猜数字小游戏的具体代码,供大家参考,具体内容如下 实现猜数字的游戏: 要用程序完成以下几步: 1、电脑自动生成随机数(1到100之间的数字) 2、玩家输...
    99+
    2022-11-12
  • c语言轻松实现猜数字小游戏
    目录一、前言二、游戏逻辑三、思维导图  四、游戏过程  五、代码分析1.生成随机数的方法2.设置随机数范围的方法六、完整代码一、前言     ...
    99+
    2022-11-13
  • C语言实现简单猜数字小游戏
    本文实例为大家分享了C语言实现简单猜数字小游戏的具体代码,供大家参考,具体内容如下 猜数字游戏是令游戏机随机产生一个100以内的正整数 用户输入一个数对其进行猜测,需要你编写程序自动...
    99+
    2022-11-12
  • c语言怎么实现猜数字小游戏
    本篇内容介绍了“c语言怎么实现猜数字小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、前言      &...
    99+
    2023-06-30
  • C语言如何实现简单猜数字小游戏
    这篇文章主要介绍C语言如何实现简单猜数字小游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!猜数字游戏是令游戏机随机产生一个100以内的正整数用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比...
    99+
    2023-06-21
  • 如何利用C语言实现猜数字小游戏
    这篇文章主要讲解了“如何利用C语言实现猜数字小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用C语言实现猜数字小游戏”吧!实现猜数字的游戏:要用程序完成以下几步:电脑自动生成随机数...
    99+
    2023-06-20
  • 详解C语言实现猜数字游戏
    目录一:猜数字游戏基本介绍&对程序预期二:程序设计思路1.总体思路:2.菜单部分函数:3.游戏部分函数4.主函数部分5.代码主体三:总结前言:本文主要讲解以c语言编写猜数字游...
    99+
    2022-11-13
  • 基于C语言实现猜数字游戏
    前言 系统生成一个【1,100】之间数字,用户随便输入一个整数,如果用户输入的数字比系统生成的数字小,提示“猜低了”,如果用户输入的数字比系统生成的数字大提示猜高了,如果相同,提示猜...
    99+
    2022-11-12
  • C语言实现简单猜数字游戏
    前言 对于c语言初学者来说用c语言实现猜数字游戏是基本的问题,本篇文章会细致的讲解如何用代码来实现猜数字游戏。希望读者在阅读本篇博客前学习玩分支与循环和最基本的c语言语法知识。 提示...
    99+
    2022-11-12
  • C语言代码实现猜数字游戏
    目录前言:一:猜数字游戏基本介绍&对程序预期二:程序设计思路1.总体思路:2.菜单部分函数:3.游戏部分函数4.主函数部分5.代码主体三:总结前言: 本文主要讲解以c语言编写...
    99+
    2022-11-12
  • c语言猜数字游戏代码要点
    这篇文章主要为大家详细介绍了c语言猜数字游戏代码要点,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:实现效果如图:代码如下:#include<stdio.h>#include<stdlib.h...
    99+
    2023-06-06
  • Java简单实现猜数字游戏附C语言版本
    目录前言一、C语言版本代码运行结果二、Java版本代码运行结果总结前言 以前在学C语言的时候,做过一个猜数字游戏,这两天学了Java的逻辑结构,试着用Java实现下。 一、C语言版本...
    99+
    2022-11-12
  • C语言实现猜数字小游戏的示例代码
    目录一、猜数字小游戏1.演示效果2.完整代码二、代码解析1.游戏主体函数2.菜单函数3.头文件以及主函数一、猜数字小游戏 使用循环语句、分支语句和函数实现,游戏内容为输入0~100之...
    99+
    2022-11-13
    C语言猜数字游戏 C语言猜数字 C语言 游戏
  • C语言编写猜数游戏
    C语言写猜数游戏,供大家参考,具体内容如下 这篇文章是给学完并学懂了C语言的分支(选择和循环)结构的朋友看的。 要做一个游戏或者程序先要想好有那些要求,以下是我认为一个猜数游戏必带...
    99+
    2022-11-12
  • C语言实现简单的猜数字游戏
    本文实例为大家分享了C语言实现简单的猜数字游戏的具体代码,供大家参考,具体内容如下 1.游戏介绍 此游戏是电脑随机生成一个1-99的数字(生成数字范围可自行更改),然后玩家一直猜数字...
    99+
    2022-11-12
  • 使用C语言制作一个猜数字游戏
    本篇文章为大家展示了使用C语言制作一个猜数字游戏,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的...
    99+
    2023-06-15
  • C语言详解实现猜数字游戏步骤
    目录前言一、猜数字游戏是什么二、使用步骤总结前言 本文详细介绍了猜数字游戏的具体实现逻辑 一、猜数字游戏是什么 1、电脑自动生成一个1-100以内的数字 2、我们输入一个我们猜的数字...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作