猜数字游戏(保姆式教程)

目录

🤞 1)生成菜单

 🤞2)玩家选择玩游戏与不玩游戏

 🤞3) 猜数字游戏核心实现

🤞 4)玩家猜数字


💕创作不易,先赞后看养成习惯

哈哈哈哈哈哈

 

 1)生成菜单

玩这个游戏,菜单里无非包含两个选择 :一.就是玩游戏;二.就是不玩游戏。 而且如果我想玩多把就要运用循环,既然有循环就要想到终止,我们知道非0为真,0为假,所以不如我们选择1和0来做我们的玩与不玩的条件,这样后面会方便很多,kakaka 不管三七二十一,我们都要先来一次选择的菜单来吧,代码如下:

void menu()
{
	printf("******************************\n");
	printf("*********   1.play   *********\n");  //选择1 玩游戏
	printf("*********   0.exit   *********\n");  //选择0 退出游戏
	printf("******************************\n");
}

打印完菜单我们肯定要调用到循环里,代码如下:

int main()
{
	do
	{
		menu();    //调用菜单,由于不管怎样选择都要至少用到一次菜单,所以用do while

	} while ();
	return 0;
}

打印完菜单之后我们就要选择玩与不玩对不对?

2)玩家选择玩游戏与不玩游戏

根据菜单的提示,我们选择玩游戏和不玩游戏,都要输入一个数字来判断玩或者不玩,所以我们就来定义一个变量input,代码如下:

int main()
{
	int input = 0;
	
	do
	{
		menu();

		printf("请选择>(0/1):");

		scanf("%d", &input);   //要玩多次所以放在循环里

	} while (input);
	return 0;
}

我们输入了,肯定就要来接受从而判断玩与不玩,两个选择,我们用 switchcase 分支语句去选择,选择1 就进行猜数字游戏,0就退出嘛,选择其它的,我们就报一个选择错误重新选择,代码如下:

int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	do
	{
		menu();
		printf("请选择>(0/1):");
		scanf("%d", &input);
		switch (input)
		{
		case 1 :
		    game();
			break;
		case 0 :
			printf("退出游戏\n");
			break;
		default :
			printf("选择错误,请重新选择\n");
		}
	} while (input);  //循环条件也是input 输入0 就退出循环了
	return 0;
}

3) 猜数字游戏核心实现

首先为了玩猜数字我们要先让电脑生成一个随机数字,随机数字的生成要运用到函数 rand() 我们来看一下这个函数的返回类型和原型

 

上面说调用函数rand() 前必须再调用 srand()  接下来我又把这个函数的原型和返回类型给大家看

 

 srand()里需要一个一直改变的数,这我们怎么办呢,在生活中存在一直改变的数就是时间了,所以不妨我们用时间来满足我们的条件(引用一个time的函数实现)看代码:

 time()函数 它的返回类型是整型,由于不需要用到它的任何操作,就将NULL放在time里

void game()
{
    srand((unsigned int)time(NULL));
	int ret = rand() % 100 +1;  //我们假设猜1-100的数字
}

4)玩家猜数字

玩家猜数字,首先我们需要输入一个数字,来判断我们与电脑生成的数字作比较,如果大于电脑的我们就提示说 “猜大了”,小于电脑的提示 “猜小了”,在我们猜的过程中一般不能是一次就猜对了,所以我们这里要多次输入并判断,因此这些要放在循环当中,猜对了就跳出循环,代码如下:

void game()
{
	int ret = rand() % 100 +1;
	int guess = 0;
	while (1)
	{
		printf("\n请输入你要猜的数字:");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("\n猜小了\n");
		}
		else if (guess > ret)
		{
			printf("\n猜大了\n");
		}
		else
		{
			printf("\n恭喜你,猜对了\n");   //如果猜对就跳出循环
			break;
		}
	}
}

以上就是全部的分解代码,以下是全部代码:特别要注意我们生成随机数并不一次游戏只需生成一次所以我们将srand()函数放在我们的主函数里面

#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 ret = rand() % 100 +1;
	int guess = 0;
	while (1)
	{
		printf("\n请输入你要猜的数字:");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("\n猜小了\n");
		}
		else if (guess > ret)
		{
			printf("\n猜大了\n");
		}
		else
		{
			printf("\n恭喜你,猜对了\n");
			break;
		}
	}
}
int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	do
	{
		menu();
		printf("请选择>(0/1):");
		scanf("%d", &input);
		switch (input)
		{
		case 1 :
		    game();
			break;
		case 0 :
			printf("退出游戏\n");
			break;
		default :
			printf("选择错误,请重新选择\n");
		}
	} while (input);
	return 0;
}

  

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xilinx FPGA平台DDR3设计保姆式教程是针对初学者的一种经典教程,旨在帮助他们快速上手并深入了解DDR3存储器的设计。 首先,要设计DDR3接口,我们需要确保FPGA芯片和DDR3存储器之间的信号完整。这包括遵循准则和规范以保证信号的正确传输和时序。在设计过程中,我们需要特别关注信号的布线、阻抗匹配和信号电平的调整。 接下来,我们需要了解DDR3存储器的工作原理和时序要求。DDR3存储器使用双数据速率(DDR)技术,可以在每个时钟周期内传输两个数据。在设计过程中,我们需要根据DDR3规范设置好时钟频率和时序参数,以确保正确的数据读写操作。 然后,我们可以开始FPGA设计和设置。在Xilinx FPGA平台上,我们可以使用Xilinx Vivado设计套件来完成DDR3接口的设计。Vivado提供了一套整合的工具,包括IP核生成器、约束文件编辑器和时序分析器,可以帮助我们完成DDR3接口的设置和验证。 在设计过程中,我们需要使用IP核生成器来生成DDR3控制器和PHY IP核,并根据设计要求进行配置。然后,我们可以使用约束文件编辑器来定义时序约束,以确保时序满足DDR3规范的要求。 最后,我们需要进行验证和调试。通过使用时序分析器进行时序约束评估和时序优化,可以确保DDR3接口的稳定性和可靠性。在验证过程中,我们可以使用模拟工具和硬件调试方法来确保数据的正确读写和传输。 综上所述,Xilinx FPGA平台DDR3设计保姆式教程可以帮助初学者了解和掌握DDR3接口的设计。通过遵循相关准则和规范,使用Xilinx Vivado设计套件进行设计和设置,并进行验证和调试,我们可以实现稳定可靠的DDR3接口,并应用于各种应用领域中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值