当前位置: 首页 > article >正文

C语言猜数字小游戏

本文将介绍如何使用C语言写一个猜数字的小游戏

具体代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

// 显示游戏菜单
void menu()
{
    printf("****   猜数字游戏!   ****\n");
    printf("****   按1开始游戏   ****\n");
    printf("****   按0退出游戏   ****\n");
}

// 游戏主体
void game()
{
    // 生成随机数
    int ret = rand() % 100 + 1;
    int num = 0;
    int cnt = 10; // 玩家的机会次数
    int sum = cnt; // 保存初始机会次数
    while (cnt > 0)
    {
        printf("你还有%d次机会\n", cnt);
        printf("请输入一个1-100之间的数:");
        // 输入验证
        if (scanf("%d", &num) != 1 || num < 1 || num > 100)
        {
            printf("输入错误,请重新输入一个1-100之间的数\n");
            while (getchar() != '\n');
            continue;
        }
        // 判断玩家输入与随机数的大小关系
        if (num > ret)
        {
            printf("数字太大了!\n");
        }
        else if (num < ret)
        {
            printf("数字太小了!\n");
        }
        else
        {
            printf("恭喜你猜对了!\n");
            printf("猜对用了%d次\n\n\n", sum - cnt + 1);
            return;
        }
        cnt--;
    }
    // 玩家机会用完,显示正确数字并结束游戏
    printf("你的机会用完了,游戏结束!\n");
    printf("正确的数字是%d\n\n\n", ret);
}

int main()
{
    srand((unsigned int)time(NULL)); // 用系统时间初始化随机数种子
    int input = 0;
    do
    {
        menu(); // 显示菜单
        printf("请选择你需要的操作:");
        if (scanf("%d", &input) != 1 || (input != 0 && input != 1))
        {
            printf("输入错误,请重新输入!\n");
            while (getchar() != '\n');
            continue;
        }
        switch (input)
        {
        case 1:
            game(); // 开始游戏
            break;
        case 0:
            printf("退出游戏!\n"); // 退出游戏
            break;
        }

    } while (input != 0);
    return 0;
}

 C语言实现这个小游戏可以帮助我们更好的理解和使用C语言中的基础知识,希望这篇文章可以帮带大家!


http://www.kler.cn/a/159980.html

相关文章:

  • 基于Python的网上银行综合管理系统
  • docker配置代理解决不能拉镜像问题
  • CSS多列布局:打破传统布局的束缚
  • C#程序开发,检测当前电脑已经安装的软件目录
  • 【知识科普】SPA单页应用程序介绍
  • vue项目npm run serve出现【- Network: unavailable】(从排查到放弃)
  • java单人聊天
  • 模式识别与机器学习(七):集成学习
  • Python高级数据结构——并查集(Disjoint Set)
  • Multidimensional Scaling(MDS多维缩放)算法及其应用
  • docker安装mysql8
  • Python 模块的使用方法
  • 万宾科技监测设备,可燃气体监测仪特点一览
  • PostgreSQL有意思的现象:支持不带列的表
  • Java 数据结构篇-用链表、数组实现队列(数组实现:循环队列)
  • 【动手学深度学习】(六)权重衰退
  • 【Unity入门】声音组件AudioSource简介及实现声音的近大远小
  • 生成对抗网络——研讨会
  • SQL练习
  • QT-在ui界面中给QWidget增加Layout布局的两种方法
  • Tensorflow.js 入门学习指南
  • java内部类详解
  • matlab实践(十):贝塞尔曲线
  • Linux搭建FTP并安装xrdp,实现Windows系统下利用FileZilla传输文件和远程桌面连接
  • Seo优化是什么,怎么进行seo优化
  • 服务器数据恢复—服务器重装系统导致逻辑卷发生改变的数据恢复案例