Dev C++,一个好玩的猜数字游戏

周末了,看了一点代码,发现有一个好玩的数字游戏,贡献给大家,个人觉得还是挺好玩的。

说个题外话,之前写的文章,都是零散的,主要是时间的原因,最近事情有点杂,一说到这个事情,我就心生愧疚,好像我一直说事情多,周一到周五上班也很忙,不知道大家有没有这样的感觉,总觉得自己在忙,但是发现自己也没做什么事情,这样是最危险的,实际上我有时候也是这样,所以最近我一到办公室,先想下自己要做的事情,看看buglist,能解决的尽快解决,能早点干完的就早点干,然后再想想准备做什么。

好了,说下这个游戏,这个游戏很简单,就是程序设定一个数字,给你5次机会去猜测这个数字是多少,可以使用二分法,我觉得使用二分法屡试不爽,如果上班累了,真的可以玩玩。

通过随机数生成设定数字

srand((unsigned)time(NULL)); //通过时间设置随机数种子
j = rand() % maxrand; // 获取随机数

随机数一定要记得设定种子,没有种子的随机数每次会发现每次生成的数字是一样的。

完整代码

其他代码就很简单了,我就不详细介绍了,如果有疑问的地方,可以评论一下

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

using namespace std;

void Start();
void GetResults();

int i, j, life, maxrand;
char c;

void Start() {
i = 0;
j = 0;
life = 0;
maxrand = 6;

cout << "选择难度:\n"; /*用户选择关卡难易程度*/
cout << "1 : 容易 (0-15)\n";
cout << "2 : 简单 (0-30)\n";
cout << "3 : 困难 (0-50)\n";
cout << "或者按下其他任意键退出\n";
c = 30;

cin >> c; //用户选择关卡
cout << "\n";

switch (c) {
case '1':
maxrand = 15; // 选择关卡后,设置最大数
break;
case '2':
maxrand = 30;
break;
case '3':
maxrand = 50;
break;
default:
exit(0);
break;
}

life = 5; //玩家生命数
srand((unsigned)time(NULL)); //通过时间设置随机数种子
j = rand() % maxrand; // 获取随机数

GetResults();
}

void GetResults() {
if (life <= 0) { //如果用户没有生命数了,游戏失败
cout << "你失败了 !\n\n";
Start();
}

cout << "请猜测一个数字: \n";
cin >> i;

if((i>maxrand) || (i<0)) { // 用户输入错误数字,重启游戏
cout << "错误:你输入的数字小于 0 或者大于关卡最大值 \n" << maxrand;
GetResults();
}

if(i == j) {
cout << "恭喜你,你赢了\n\n"; // 玩家找到了数字
Start();
} else if(i>j) {
cout << "输入数字大于你要猜的数字\n";
life = life - 1;
cout << "你生命值还剩下: " << life << "\n\n";
GetResults();
} else if(i<j) {
cout << "输入数字小于你要猜的数字\n";
life = life - 1;
cout << "你生命值还剩下: " << life << "\n\n";
GetResults();
}
}

int main() {
cout << "** 猜数字游戏 **\n";
cout << "这个游戏需要猜测一个数字.\n";
cout << "游戏会提示你输入的数字是大于或者小于要猜测的数字\n";
cout << "你在生命值还剩下的时候猜中数字,你就赢了.\n\n";
Start();
return 0;
}

运行截图


扫码或长按关注

回复「 加群 」进入技术群聊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[BZOJ 2500] 幸福的道路

照例先贴题面&#xff08;汪汪汪&#xff09; 2500: 幸福的道路 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 368 Solved: 145[Submit][Status][Discuss]Description 小T与小L终于决定走在一起,他们不想浪费在一起的每一分每一秒,所以他们决定每天早上一同晨练来享受在一…

你手上的PCB怎么制作的?几张动图揭晓工厂生产流程

在PCB出现之前&#xff0c;电路是通过点到点的接线组成的。这种方法的可靠性很低&#xff0c;因为随着电路的老化&#xff0c;线路的破裂会导致线路节点的断路或者短路。绕线技术是电路技术的一个重大进步&#xff0c;这种方法通过将小口径线材绕在连接点的柱子上&#xff0c;提…

linux开发板作为蓝牙音箱,USB 蓝牙适配器在ARM 开发板下的使用

4、可能出现的问题和解决方案&#xff1a;4.1 编译dbus 时出现&#xff1a;1checking for accept4... yeschecking abstract socket namespace... nochecking for pkg-config... (cached) /usr/local/bin/pkg-configchecking pkg-config is at least version 0.9.0... yescheck…

细丝极恐的华为251事件

事情的来龙去脉我就不再详细描述了&#xff0c;我提几个问题点&#xff0c;觉得有点疑惑&#xff0c;也是自己对这个事件的看法。1、李洪元于2005年入职华为&#xff0c;2018年1月离职&#xff0c;在2016年11月21日向公司的投诉邮箱发了一份匿名邮件&#xff0c;至于发邮件的东…

mysql set语句_mysql--乱码解决(6)

1.字符集介绍mysql数据库字符集包括字符集(character)和校对规则(collation)两个概念&#xff0c;其中字符集是用来定义mysql数据字符串的存储方式&#xff0c;而校对规则则是定义比较字符串的方式。2.常见字符集3.解决中文乱码思想&#xff1a;保持linux、服务端、库、表、客户…

C 语言,你真的懂递归了吗?

什么是递归&#xff1f;要说到递归如果不说栈的话&#xff0c;我觉得有点不合适&#xff0c;递归特点就是不断的调用同一个函数&#xff0c;如果这个函数没有一个递归界限&#xff0c;那么就是死循环了&#xff0c;所以讨论递归&#xff0c;就必须要讨论递归的界限&#xff0c;…

github page hexo博客gitee_利用Github和hexo搭建个人免费博客

利用Github和hexo搭建个人免费博客详细过程&#xff1a;概述&#xff1a;详细的介绍了利用github和hexo搭建免费的博客&#xff0c;内容详细&#xff0c;浅显易懂&#xff0c;容易上手&#xff0c;大家一起进来看看吧&#xff01;1、配置Github相关操作&#xff1a;​ ①新建一…

漫画:三种 “奇葩” 的排序算法

在算法的世界里&#xff0c;有许多高效率的排序算法&#xff0c;比如快速排序、归并排序、桶排序......它们大大提高了程序的性能。但是&#xff0c;也有一些比较奇葩的排序算法&#xff0c;它们既不能做到高效率&#xff0c;也没有很好的可读性。那它们存在的意义是什么呢&…

常用c语言小程序,c语言经典小程序汇总大全

网上有很多的人说编程有多么多么无聊&#xff0c;其实&#xff1a;不要管别人怎么说&#xff0c;别人说什么&#xff0c;做你自己喜欢做的事就好。坚持下来&#xff0c;你会发现编程的乐趣的。当然&#xff0c;如果你觉得学习编程语言很痛苦&#xff0c;坚持了一段时间后无果&a…

opencv 二值化_Python-OpenCV获取图像轮廓的图像处理方法

一、引言在《OpenCV阈值处理函数threshold处理32位彩色图像的案例》介绍了threshold 函数&#xff0c;但threshold 的图像阈值处理对于某些光照不均的图像&#xff0c;这种全局阈值分割的方法并不能得到好的效果。图像阈值化操作中&#xff0c;我们更关心的是从二值化图像中分离…

让你不再害怕指针.pdf

今天推荐一本书&#xff0c;是讲解指针的&#xff0c;C 语言理解指针应该算一个重点&#xff0c;也算是一个难点&#xff0c;这个pdf 文章总结非常好&#xff0c;推荐给大家。想获取书籍Pdf的同学&#xff0c;请在公众号后台回复 「指针」&#xff0c;希望这本书籍让你们不再害…

revit如何根据坐标进行画线_在工程设计中如何根据工艺阀门的结构与特点来进行设计呢?...

在工程设计的实践中发现&#xff0c;因为阀门的种类繁多&#xff0c;每种阀门都有自己的特点&#xff0c;工程设计人员&#xff0c;尤其年轻的设计者由于不太了解阀门的结构和特点往往选错阀门&#xff0c;造成设计失误。系统的了解阀门&#xff0c;对工程设计人员(不是阀门设计…

c语言中二维数组中产生随机数,C语言中是如何进行随机数生成的[多图]

C语言中是如何进行随机数生成的.C语言是编程人员经常会到的一款计算机编程语言,有的朋友想知道怎样使用C语言进行随机数生成,那么就快随小编一起来看看这篇C语言中是如何进行随机数生成的吧!其中不仅为大家介绍了生成随机数的函数,还提供了测试代码!同时为大家附带了随机数字生…

一文带你了解V4L2

1、什么是v4l2V4L2&#xff08;Video4Linux的缩写&#xff09;是Linux下关于视频采集相关设备的驱动框架&#xff0c;为驱动和应用程序提供了一套统一的接口规范。V4L2支持的设备十分广泛&#xff0c;但是其中只有很少一部分在本质上是真正的视频设备&#xff1a;•Video captu…

Linux 僵尸进程可以被杀死吗?

在 Unix 进程模型中&#xff0c;父进程和其所产生的子进程是异步运行的&#xff0c;所以如果子进程在结束后&#xff0c;会留下一些信息需要父进程使用 wait / waitpid 来接收。而如果父进程太忙了&#xff0c;没有调用 wait / waitpid 的话&#xff0c;子进程就会变成…

jstl 获取 javascript 定义的变量_前端开发大牛完整总结出了JavaScript 难点 +最新web前端开发教程...

1. 立即执行函数立即执行函数&#xff0c;即Immediately Invoked Function Expression (IIFE)&#xff0c;正如它的名字&#xff0c;就是创建函数的同时立即执行。它没有绑定任何事件&#xff0c;也无需等待任何异步操作&#xff1a;立即执行函数function(){…}是一个匿名函数&…

MySQL 5.6.20-enterprise-commercial的参数文件位置问题

今天在折腾MySQL的参数文件时&#xff0c;突然发现MySQL 5.6.20-enterprise-commercial-advanced-log这个版本数据库的参数文件my.cnf的位置有点奇怪&#xff0c;如下所示&#xff1a; [rootDB-Server ~]# mysql --help | grep my.cnforder of preference, my.cnf, $MYSQL_TCP_…

最害怕的是,不知道想要什么

生活在现在的时代&#xff0c;你要是出去吹牛说你与世无争&#xff0c;你看破红尘&#xff0c;你就想开心上班啥也不图&#xff0c;别人要不以为你是一个傻子&#xff0c;要不就以为你是一个家财万贯的主&#xff0c;特别是现在&#xff0c;从2015年开始&#xff0c;房价像吃了…

c语言gcc汇编文件,[汇编]gcc生成汇编.s文件 $ gcc -Og -S sum.c /$ gcc -Og -S -masm=intel sum.c 与 反汇编 objdump...

目录- C语言源码文件&#xff1a;sum.c- gcc 生成的汇编语言文件 sum.sx86-64 AT&T 语法格式x86-64 Intel格式- 反汇编 objdump3.1 输出 AT&T格式 objdump -d sum3.2 输出 Intel格式 objdump -M intel -d sumC语言源码文件&#xff1a;sum.c加法&#xff1a;c a b#in…

diff算法_详解 React 16 的 Diff 策略

这是我 Deep In React 系列的第二篇文章&#xff0c;如果还没有读过的强烈建议你先读前一篇&#xff1a;详谈 React Fiber 架构(1)。前言我相信在看这篇文章的读者一般都已经了解过 React 16 以前的 Diff 算法了&#xff0c;这个算法也算是 React 跨时代或者说最有影响力的一点…