猜数字游戏—【C语言实现】

这篇具有很好参考价值的文章主要介绍了猜数字游戏—【C语言实现】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 列出游戏相关功能

     1.1 随机生成一个数字,让玩家猜

     1.2 三种可能的情况

     1.3 玩完一把,可以选择是否再玩一把,不用退出程序

2. 三种功能的思路解析

                2.1 功能一思路实现

     2.2 功能二 思路实现

     2.3 功能三 思路实现

3. 代码实现


1. 列出游戏相关功能

     1.1 随机生成一个数字,让玩家猜

     1.2 三种可能的情况

          1.2.1 猜大了,重新猜

          1.2.2 猜小了,重新猜

          1.2.3 猜对了,恭喜你,猜对了,结束游戏

     1.3 玩完一把,可以选择是否再玩一把,不用退出程序


2. 三种功能的思路解析

      2.1 功能一思路实现

要生成一个随机数,我们需要学习三个函数——rand(随机生成数字)、srand(初始化随机数——在调用rand之前)、time(返回时间戳)


rand函数:可以实现随机生成一个范围是 0 ~ RAND_MAX(32767)的数,RAND_MAX16 进制为(0x7fff)——>转为十进制数为32767


srand函数:如果给srand传递一个不变的值,这时rand随机生成的值就是不变的值,所以我们需要传一个变化的值给srand,我们发现计算机上的的时间是时刻变化的—使用time函数,返回时间戳

扩展:时间戳> 是指现在的时间减去1970年1月1日的时间,化成秒表示的数字大小,不考虑闰秒


time函数:在srand函数中调用time函数,返回时间戳,time的返回类型进行了多层包装,其实是long long (长长整型),srand需要的返回类型是unsigned int 类型,使用我们需要强转一下

注意点1:由于我们玩的那一把只需要生成一个随机数来玩,所以我们可以在主函数中调用随机生成数字部分的代码,因为主函数在程序运行时只会被调用一次,也就一把生成一个随机数,而且十分随机

注意点2:由于随机数的范围太大了,游戏体验感很差,我们可以在生成随机数后%100+1,生成的就是0~100的数字


     2.2 功能二 思路实现

猜数字部分我们可以想到用if—else语句来实现3种情况,还有使用while循环,判断条件部分恒为真,实现一直猜

     2.3 功能三 思路实现

使用do—while实现玩完一把,再玩一把


3. 代码实现

#define _CRT_SECURE_NO_WARNINGS 1

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

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

//void srand (unsigned int seed);
void game()
{
	RAND_MAX;
	//1. 生成随机数
	int ret = rand() % 100 + 1;//可以生成随机数,随机数的范围是:0~32767
	//0~99
	//2. 猜数字
	int guess = 0;

	while (1)//恒为真,直到猜对,结束本局游戏
	{
		printf("请猜数字:>");
		scanf("%d", &guess);
		if (guess > ret)
		{
			printf("猜大了\n");
		}
		else if (guess < ret)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}

int main()
{
	//打印菜单
	//1. 玩游戏
	//0. 退出游戏
	int input = 0;
	srand((unsigned int)time(NULL));//要给srand传递一个变化的值,计算机上的时间是时刻发生变化的
	//time函数可以返回一个时间戳
	do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);//1 0 
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误\n");
			break;
		}
	} while (input);

	return 0;
}

总结:


1. 这里实现的游戏目录可以简化我们玩游戏的选择种类,1(玩游戏)、0(退出游戏),后面实现通讯录、扫雷、三子棋等小游戏的时候也要用到

2. 学习了rand、srand、time等函数的功能,三个函数配合使用可以随机生成数字文章来源地址https://www.toymoban.com/news/detail-433258.html

到了这里,关于猜数字游戏—【C语言实现】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】猜数字游戏

    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果

    2024年02月15日
    浏览(110)
  • 猜数字小游戏---C语言

    目录 前言:  猜数字游戏: 1.打印选项 2.玩家输入选项 3.根据玩家输入的值进行选择 4.重复游戏的实现 5.游戏game函数的实现 6.优化 ❤博主CSDN:啊苏要学习   ▶专栏分类:C语言◀   C语言的学习,是为我们今后学习其它语言打好基础,C生万物!   开始我们的C语言之旅吧!✈

    2023年04月24日
    浏览(41)
  • 【C语言小游戏--猜数字】

    猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏,下面我将详细介绍该游戏的实现和编程逻辑。玩小游戏的同时,也能对C语言控制语句有更好的认识。 电脑随机生成一个1-100的数字,玩家来猜。玩家可以根据自己需要,设置每次猜的次数。如果

    2024年02月08日
    浏览(33)
  • PTA( 猜数字游戏)——C语言)细解

    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果

    2024年02月08日
    浏览(55)
  • c语言修炼之猜数字游戏

    前言 小伙伴们,今天来学习猜数字游戏叭!废话不多说,让我们一起开始学习叭! 思路: 一打开游戏就出现一个菜单然后可以让我们选择是进入游戏还是退出游戏! 就像这样啦!就可以打印出菜单啦!此时我们要在创建一个变量input用来选择是进入游戏还是退出游戏,并且再

    2024年02月12日
    浏览(43)
  • 【C语言初阶(四)】猜数字游戏

    ❣博主主页: 33的博客❣ ▶文章专栏分类: C语言从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 掌握了分支和循环的知识,我们就可以写一个有趣的代码了:猜数字游戏 游戏要求: 1.电脑自动生成1~100的随机数。 2.根据猜测数据的大小给出大了或小了的反馈,直到猜对,游

    2024年04月09日
    浏览(39)
  • 【C语言】编写“猜数字“小游戏

    2023年9月29日, 今天给大家带来的是用C语言编写的一个猜数字小游戏,使用了循环就可以完成 首先我们需要先做一个简单的目录,这样方便多次使用,增加了游戏的可玩性,看代码: 接下来开始正文内容:   到这里一个简单的猜数字就完成了,但是当你玩几次后就会发现,随机数

    2024年02月07日
    浏览(44)
  • 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java

    1、hadoop3.1.4简单介绍及部署、简单验证 2、HDFS操作 - shell客户端 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java 4、HDFS-java操作类HDFSUtil及junit测试(HDFS的常见操作以及H

    2024年02月16日
    浏览(60)
  • 【GO】go语言入门实战 —— 猜数字游戏

    程序介绍 首先生成一个介于1~100之间的随机数,然后提示玩家输入数字,并告诉玩家是猜对了还是猜错了,如果对了程序就结束,如果错了就提醒玩家是大了还是小了,然后玩家继续输入。 设置随机数 rand.Seed(seed int64) :播种 seed 为随机数种子 func time.Now() time.Time :获取当前

    2024年02月15日
    浏览(42)
  • C语言第四十一弹---猜数字游戏

     ✨ 个人主页:  熬夜学编程的小林 💗 系列专栏:   【C语言详解】   【数据结构详解】 猜数字游戏 1、随机数生成 1.1、rand 1.2、srand 1.3、time 1.4、设置随机数的范围 2、猜数字游戏的分析和设计 2.1、猜数字游戏功能说明 2.2、猜数字游戏的结构分析 2.2.1、用户选择 2.2.2、生

    2024年04月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包