IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言编-------------简单猜数字游戏实现 -> 正文阅读

[C++知识库]C语言编-------------简单猜数字游戏实现

目录


前言

该怎样实猜数字游戏,接下来跟着我一步一步来看


一、菜单

我们居然是猜数字游戏肯定菜单是少不了的,具体怎样实现,来,看过来,不用过多的东西,我们用一个函数来实现

代码如下

void mevc()
{
	printf("********************\n");
	printf("****** 1.play ******\n");
	printf("****** 0.quit ******\n");
	printf("********************\n");
}

这里是直接打印菜单在屏幕上所以不用返回值

玩家想玩游戏就选择1,不想玩就选择0

二、选择

玩家可以根据自已来选择,所以需要用scanf让玩家输入,然后根据输出的值进入下一步

代码如下:

int main()
{
	mevc();
	do 
	{
		printf("请选择游戏->");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			play();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,继续!!\n");
			break;
		}
	} while (input);

	return 0;
}

这里有多种选择,所以用switch()语句来实现,知道玩游戏登进,都会有一次选择,想玩或者不玩直接退出,所以do-while语句来实现

三.猜数字

接下来是主要实现猜数字游戏,这里我们定义一个函数来实现猜数字的代码play()函数,选择1我们就进入猜游戏中,既然是猜数字,那就要随机产生一个数字供玩家猜测,这里涉及了一个函数rand(),该函数可以随机产生一个数字,它返回是一个整型0-32767的数字

代码如下(示例):

void play()
{
	int a = 0;
	int ret = rand() % 100 + 1;  //因为这里要实现1-100的随机数,所以%100-1就是1-100的数
	while (1)
	{
		printf("请猜数字->");
		scanf("%d",&a);
		if (a<ret)
		{
			printf("猜小了,继续\n");
		}
		else if (a>ret)
		{
			printf("猜大了,继续\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");  
			break;    //猜对我们就跳出,重新选择,break跳出整个循环
		}
	}
}

这里我们有人经常范的错误就是把int ret = rand() % 100 + 1放在while循环里,这样的话每次猜数字都在变,就很难猜的对数字,要放外面

注意

这里用随机数要用到这个

srand((unsigned int)time(NULL));

经过测试会发现,无论怎么产生随机数,再来玩一次总是重复这几个数字,所以需要在rand前引用srand函数,但是srand函数又需要一个随机值才能让rand生成随机值这时可以用时间戳来实现;至于时间戳,不懂得可以百度一下,它产生的数字是随着时间在变化

四.全部代码如下

//实现猜1-100的数字游戏
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
//菜单
void mevc()
{
	printf("********************\n");
	printf("****** 1.play ******\n");
	printf("****** 0.quit ******\n");
	printf("********************\n");
}
//猜数字
void play()
{
	int a = 0;
	int ret = rand() % 100 + 1; //产生一个1-100的数字
        //判断
	while (1)
	{
		printf("请猜数字->");
		scanf("%d",&a);
		if (a<ret)
		{
			printf("猜小了,继续\n");
		}
		else if (a>ret)
		{
			printf("猜大了,继续\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}
int main()
{
	mevc();
	int input = 0;
	srand((unsigned int)time(NULL));  //时间戳
	do 
	{
		printf("请选择游戏->");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			play();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,继续!!\n");
			break;
		}
	} while (input);

	return 0;
}

好了,就先到这,有兴趣自己去玩下哈哈,如有什么建议下面评论哦,以上内容那里不懂也可以在下面评论,如有那里有错多多包涵和指出,再见了大家!!!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:19:45  更:2022-01-17 11:20:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:01:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码