目录

一,前言

二,游戏规则

三,实现构思

四,实现过程

1,游戏菜单:

2,游戏框架:

3,关于实现随机值

4,游戏实现

五,总代码


一,前言

学习编程,最重要的就是实践,多敲代码,懂得再多的东西,终究还得是转化成代码才能带来效益

,而编写小游戏也是一种值得我们上手练习,巩固知识的好方法。

话不多说,先来一张美图,直接开始。

二,游戏规则

1,从菜单选择开始。

2,输入你所猜的数字。

3,程序会提示你猜大了还是猜小了。

4,没猜对,回到第二步,直到猜对为止。

5,猜对了,自动回到菜单,回到第一步。

三,实现构思

游戏开始,要有一个菜单,可以用printf函数实现,菜单应包含开始,退出这些选项,这可以用switch语句实现,开始后猜数字,数字应是随机值,这要靠时间戳来实现,输入数字后,系统会提示你是大了还是小了,这要靠所猜数字与你输入的数字作比较。

四,实现过程

1,游戏菜单:

2,游戏框架:

为了实现规则的第5步,自动回到第一步,游戏框架我们选择do......while语句,判断条件应该是菜单的选择,选择1,开始,选择0,退出。我们可以创建一个变量input来装这些选项。然后用switch语句来分别执行玩家所选的选项。

3,关于实现随机值

随机的起点:srand((unsigned) int time(NULL)

//这段代码用到了两个库函数void srand(unsigned int seed)和 longlong time(NULL),分别对应的头文件是<stdio.h>和<time.h>

猜数字游戏需要生成一个随机值来让我们猜。设置随机值就要引用rand()函数,但直接调用得到的数并不是随机的。需要我们设置一个随机的起点,这就要提到一个有关时间的库函数了: longlong time(NULL),该函数返回的是一个时间戳(当前计算机时间减去计算机起始时间1970.1.1.0:0:0所得的时间换算成秒后,得到的值就是时间戳了)。这不就是随机的值吗?每一刻,时间都在变化这。把这个函数放进srand()中,就会生成随机值了。

生成随机数:int random_num = rand()

//对应头文件<stdlib.h>

生成随机数直接编写代码int random_num = rand()就可以,但rand()函数生成随机数的范围是在0~32767之间。要想生成一个1~100之间的随机数也不难,int random_num = rand()%100+1就OK了。

4,游戏实现

当我们获取一个随机值后就可以来比大小,比大小结果有三种情况,猜大了,猜小了,猜对了,这三种情况我们可以用if...else if...else语句实现。如果猜对了,就退出函数,否则继续猜,我们就可以用while语句来执行。

五,总代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>void menu()
{printf("****************************\n");printf("********   1.play  *********\n");printf("********   0.exit  *********\n");printf("****************************\n");
}void game()
{int random_num = rand() % 100 + 1;//将随机数放在random_num中int guess = 0;while (1){printf("请输入你要猜的数字:\n");scanf("%d", &guess);if (guess > random_num){printf("猜大了\n");}else if(guess < random_num){printf("猜小了\n");}else{printf("恭喜你,猜对了!\n");break;}}
}int main()
{int input = 0;srand((unsigned)time(NULL));//设置起始时间do{menu();printf("请选择:\n");scanf("%d",&input);switch (input){case 1:game();//把游戏放在game()break;case 0:printf("退出游戏\n");break;default:printf("选择错误,重新选择\n");break;}} while (input);return 0;
}

好了,到这结束了,希望对你有帮助,如果有不足之处,请多多指教。

C语言猜数字游戏(超级详解)相关推荐

  1. C语言猜数字游戏(详解)

    使用C语言写出猜数字游戏 1.思路 1.我们需要电脑生成一个随机数 2.玩家进行猜数字 3.玩过一次可以再玩一次,那么至少要进去一次,可以使用do...while循环 2.大体结构(主函数) 使用do ...

  2. C语言入门小游戏——猜数字游戏(详解)

    大家好,我是十一,今天给大家带来"猜数字游戏"的代码和讲解. 目录 前言 基本流程 1.打印菜单 1.1主函数逻辑 2.生成随机数 随机数生成结果 2.1srand函数 2.2时间 ...

  3. C语言—猜数字游戏的实现

    目录 目录 完整的程序 打印菜单 主函数部分 生成随机数 猜数字函数的实现 我们已经学习到了C语言的一些基本知识和分支循环语句了,可以自己动一动手来尝试实现C语言-猜数字游戏了,为了猜数字程序的实现, ...

  4. c语言猜数字游戏用while,用C语言实现猜数字游戏

    本文实例为大家分享了C语言实现猜数字的具体代码,供大家参考,具体内容如下 问题:计算机随机生成一个数字,用户进行猜数字,当用户猜错时,提醒用户猜高/猜低,直到用户猜的数字与计算机给的随机数一致时,提示 ...

  5. 【趣学】C语言猜数字游戏

    目录 一.前言 二.从游戏初始界面开始 三.游戏实现 ①rand函数 ②srand函数 ③时间戳 ④time函数 一.前言 学习的过程有时候会有些许枯燥,但换一种方式学习也算是一种有趣的事情,呀哈,写 ...

  6. 【小白系列】C语言 猜数字游戏

    目录 1.前言 2.编写思路 3.代码实现 3.1菜单代码 3.2游戏代码 3.2-1 rand函数 3.2-2 srand 函数 3.2-3 time函数 4.注意事项 5.完整的猜数字游戏代码展示 ...

  7. C语言 猜数字游戏

    猜数字游戏 规则:给定一个范围如[1,100],系统生成一个范围内随机数字,用户随便输入一个整数,如果用户输入的数字比系统生成的数字小就提示"猜低了",如果用户输入的数字比系统生成 ...

  8. c语言猜数字游戏用while,【C语言基础】有趣的猜数字游戏。(while循环,if语句,switch语句)...

    要求:猜数字游戏的实现.代码如下:#include #include #include void menu() { printf("***************************** ...

  9. c语言猜四位数游戏猜10次,C语言猜数字游戏--随机生成4个不相同的数字从小到大排序,用户开始游戏,如果用户猜对数字和数字对应的位置,界面回馈A,如果数字正确位置不正确,则回馈B...

    1.看程序运行截图吧!! 由于博主本人较笨,就不动画演示了,如果动画的话可能将是一个漫长的过程! 猜数字游戏.png 2.游戏题目 随机生成4个不相同的数字从小到大排序,用户开始游戏,如果用户猜对数字 ...

  10. c#语言猜数字游戏,C#实现猜数字游戏

    本文实例为大家分享了C#实现猜数字游戏具体代码,供大家参考,具体内容如下 给定一个0-100的随机数字猜其大小 题目样式: 电脑产生一个0到100之间的随机数字,并且要求用户来猜,如果用户猜的数字比这 ...

最新文章

  1. 海贼王热血航线正在连接服务器,《航海王热血航线》无法进入原因和解决方法 进不去如何解决...
  2. 优化网站的TDK要注意哪些问题?
  3. datagrip防止xx后弹窗
  4. mysql表打包到程序中_C#/winform程序打包布署 如何把SQL 数据库 一起打包进去?
  5. PMP读书笔记(第3章)
  6. 机器学习在高德起点抓路中的应用实践
  7. MXNet.gluon——图像I/O
  8. 数据结构------图-----深度广度优先遍历
  9. 【大数据部落】用R语言挖掘Twitter数据
  10. html中文本框改变事件,JavaScript onchange 事件:表单文本域或选择域发生改变
  11. 阿里云张献涛:2021 弹性计算发生了哪些变化
  12. Excel VBA 巧用自定义函数进行数组去重
  13. SpringCloud项目启动
  14. 搭档之家| 工作生活中的5个顶级思维(一)
  15. bin是什么文件,要如何打开?
  16. [原创]网页中自动连续播放音乐文件的实现
  17. electron初学之随机点名
  18. 下一代 Web 应用模型 —— Progressive Web App
  19. python画太极图
  20. 直播界很火的无线领夹麦克风快充方案 Type-C接口 PD快充+无线麦克风可同时进行

热门文章

  1. 数据库实验课堂作业-1.1数据定义
  2. 关于交换的知识点(一)
  3. 全球供应链报告显示2020年中国采购业一枝独秀;疫情加大全球企业数字化差距 | 美通企业日报...
  4. 计算机怎么无线连接网络地址,电脑怎么设置无线网络ip地址
  5. Centos7与Windows查看硬盘序列号
  6. win10误删的注册表能还原吗_win10恢复系统注册表,win10删除注册表怎么还原
  7. 愿你与生活交手多年,依然满怀新鲜,
  8. ue4 源码编译 虚拟内存不足 堆限制
  9. Android采用消息推送实现类似微信视频接听功能
  10. 目标检测-2019年4篇目标检测算法最佳综述