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语言小游戏第二弹~1-100猜数字(无聊时候摸鱼必备) -> 正文阅读

[游戏开发]C语言小游戏第二弹~1-100猜数字(无聊时候摸鱼必备)

hello uu们,我们本期的小游戏是在1-100里面猜数字,无聊摸鱼必备小游戏哦~~

闲话少谈,整活走起

? 首先我们可以简单的把这个程序主题分成两大块

1、游戏界面

2、猜数字过程主体

下面开始分步详细介绍。。。。。。

1、游戏界面

好的我们首先来完成第一块,在第一块内容中,窝们得让使用者清楚明确的选择是进入游戏or退出游戏,同时为了美观我们可以再上下分别再加上一行**来作为修饰

   //游戏目录函数
void menu()
{
	printf("************************\n");
	printf("********1.play**********\n");
	printf("********0.exit**********\n");
	printf("************************\n");

}

这样我们的游戏进入界面就完成了,上效果图:

?2、猜数字过程主体

在这一块我们可以分成几个小模块来分布实现~

1、生成随机数

在这块呢我们肯定选择用rand()来生成我们随机数,但是在这里又存在一个问题

每次生成的随机数都一模一样,这样的话我们只要记住了这个数字顺序那么这个游戏玩几次后就变得索然无味了

?所以在这里我们引用一个时间戳来生成来作为随机数产生的max:

	 srand((unsigned int)time(NULL))

然后由于这个如果放在循环体里面,每次都会调用一次也会造成产生的随机数每次都十分接近,这样游戏体验也是极其不好的,因此我们把这个放在main主函数里面,每次开启游戏调用一次即可这样的话,游戏体验good;

2、猜数字循环体

玩家不可能每次都一下猜中吧(欧皇附体当我没说)

对于博主这种非皇来说,肯定得很多次才可以猜中,此时不免就得用一个循环体,来一遍遍进入猜数字。不仅如此,我们还得每次提示一下猜大了猜小了这样才可以方便玩家不断逼近准确值:

while (1)
	{
		
		printf("请猜数字>:");
		scanf("%d", &guess);
		if (random_num < guess)
			printf("猜大了\n");
		else if (random_num > guess)
			printf("猜小了\n");
		else
		{
			printf("恭喜你,猜对了\n");
				break;
		}

	}

这块代码写的过程一定要小心,一定要小心,一定要小心,重要的事情说三遍

千万不要把猜大了猜小了写错,不然玩家将离正确答案越来越远(别问我为什么会知道这个错误)

是不是以为这就结束了?

错,少了最重要一环:进入游戏一环,这环没有后面全部百搭

这里我们应用switch case语句,来实现选择进入游戏还是退出游戏,同时也是玩完一遍后是退出还是继续的环节~

	do
	{
		//先完成一个游戏初始目录
		menu();
		printf("请选择:\n");
		scanf("%d", &n);
		switch (n)
		{
		    case 1:          //进入游戏
			     game();
			     break;
			case 0:           //退出游戏
		         break;
			 defult:
				 printf("输入错误请重新输入");
				 break;
		}
	}while (n);

好了,现在我们的代码就算分布完成了,上最终代码:

#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;
	int guess = 0;
	while (1)
	{
		
		printf("请猜数字>:");
		scanf("%d", &guess);
		if (random_num < guess)
			printf("猜大了\n");
		else if (random_num > guess)
			printf("猜小了\n");
		else
		{
			printf("恭喜你,猜对了\n");
				break;
		}

	}
}


 int main()
{
	 int n = 0;
	 srand((unsigned int)time(NULL));
	do
	{
		//先完成一个游戏初始目录
		menu();
		printf("请选择:\n");
		scanf("%d", &n);
		switch (n)
		{
		    case 1:          //进入游戏
			     game();
			     break;
			case 0:           //退出游戏
		         break;
			 defult:
				 printf("输入错误请重新输入");
				 break;
		}
	}while (n);
	return 0;
}

各位客官,冒着热气小游戏出炉了

博主在这里运行一遍给各位尝个鲜

好了,本期分享到这里结束了我们下期见

博主在线祈求小伙伴们的三连~~~?

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 14:25:30  更:2021-08-14 14:28:02 
 
开发: 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年5日历 -2024/5/20 17:02:23-

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