【C语言】猜数字游戏

简介: 【C语言】猜数字游戏

一、前言


      😀 学习C语言有一段时间,很有必要,用一个小游戏输出一下自己所学


二、游戏规则


      😀1. 根据菜单提示选择功能

      😀2.输入猜想的数字进行对比

      😀 3.程序提示正确,跳出循环

      😀 4.程序提示错误,终止循环


三、游戏构思


     😀1.生成一个游戏菜单,选择功能

     😀 2.将这些内容放进循环中不断参与游戏

     😀3.产生一个随机值,输入猜想数字

     😀4.不断对比,进行大小提示,猜中跳出循环,猜错随机值不变,输入循环


游戏菜单

void menu()
{
  printf("########################\n");
  printf("########################\n");
  printf("####    0.exit      ####\n");
  printf("####    1.play      ####\n");
  printf("########################\n");
  printf("########################\n");
}


游戏功能的实现

void game()
{
  int guess = 0;
  //1.生成一个随机数
  int ret = rand()%100+1;
  //printf("%d\n",ret);
  //2.猜数字
  while (1)
  {
    printf("猜数字:>");
    scanf("%d", &guess);
    if (guess < ret)
    {
      printf("猜小了\n");
    }
    else if (guess > ret)
    {
      printf("猜大了\n");
    }
    else
    {
      printf("恭喜你,猜对了\n");
      break;
    }
  }
}


😀关于随机值的实现

       😀随机值使用,我们采用函数rand()


7039018e8b1e4e1cbe2c63a96ba7af2c.png

😀但该函数有个弊端,每次开始游戏,与上一次运行游戏产生的随机值相同,此时我们要用到一个函数srand()对其进行初始化

7dbe093c9e7d45fb8568a33e4d71e0ed.png


😀此时我们有一个时间戳概念:指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。通俗的讲,时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据

 

7d44045f11dd41519f10e52f5313c706.png


😀srand参数为无符号类型,对time进行强制类型转换,time后不需要参数,所以在函数中填入空指针(NULL)


😀循环参与游戏


int main()
{
  int input = 0;
  //1.随机数
  srand((unsigned int)time(NULL));
  do 
  {
    menu();
    scanf("%d",&input);
    if (input == 0)
    {
      printf("退出游戏\n");
      break;
    }
    else if (input == 1)
    {
      printf("进入游戏\n");
      game();
    }
    else
    {
      printf("输入错误请重新进入游戏\n");
    }
  } while (input);
  return 0;
}


😀游戏过程

e2ce0373904241e1b324d508339bdde0.png

目录
相关文章
|
3月前
|
C语言
C语言之斗地主游戏
该代码实现了一个简单的斗地主游戏,包括头文件引入、宏定义、颜色枚举、卡牌类、卡牌类型类、卡牌组合类、玩家类、游戏主类以及辅助函数等,涵盖了从牌的生成、分配、玩家操作到游戏流程控制的完整逻辑。
117 8
|
4月前
|
C语言
扫雷游戏(用C语言实现)
扫雷游戏(用C语言实现)
163 0
|
3月前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
99 2
|
3月前
|
C语言 Windows
C语言课设项目之2048游戏源码
C语言课设项目之2048游戏源码,可作为课程设计项目参考,代码有详细的注释,另外编译可运行文件也已经打包,windows电脑双击即可运行效果
54 1
|
4月前
|
C语言 C++
【C语言】编写“猜数字“小游戏
【C语言】编写“猜数字“小游戏
125 1
|
4月前
|
存储 C语言
揭秘C语言:泊舟的猜数字游戏
揭秘C语言:泊舟的猜数字游戏
114 2
|
4月前
|
编译器 C语言
猜数字游戏实现#C语言
猜数字游戏实现#C语言
134 1
|
4月前
|
C语言 开发者
C语言实现猜数字小游戏(详细教程)
C语言实现猜数字小游戏(详细教程)
|
4月前
|
存储 算法 安全
C语言实现扫雷游戏
C语言实现扫雷游戏
|
4月前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
107 1