一个猜数字游戏

当我们学C语言学到一定程度时,不防试着做一个简单的游戏

下面我们就来实现一个简单又有趣的游戏——猜数字游戏

先介绍一下游戏规则

1.先让程序自动产生一个1-100的整数

2.猜数字,才对了,可以继续完游戏

3.猜错了,程序会告诉你,猜大了还是猜小了

4.游戏可以一直玩,除非自己退出游戏

思路1:我们一运行程序我们就可以对游戏进行选择,按照玩家的角度,我们可以制作一个简易的菜单来提示玩家选择,又要让游戏一直进行,这里我们可以用一个do ——while循环

代码如下

#include<stdio.h>
void menu()
{
	printf("***********************\n");
	printf("******  1.paly  *******\n");
	printf("******  0.exit  *******\n");
	printf("***********************\n");

}
int main()
{
	int input = 0;
	//游戏进来先打印一个菜单,所以我们可以自定义一个函数
	do
	{
		menu();//打印菜单
		printf("请选择:\n");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			printf("猜数字\n");//开始游戏
			break;
		case 0:
			printf("退出游戏\n");//退出游戏
			break;
		default:
			printf("选择错误,重新选择\n");
			break;
		}
	} while (input); 
	//这里是一个妙用,选择0时,结束循环,相当于退出游戏
	return 0;
}

相信大家这里都很容易看得懂思路

接下里就是要实现我们的游戏进行的部分了

这里先给大家讲一下随机数是如何产生的

在 C 语言当中使用随机数要用到 rand 函数和 srand 函数。

int rand():返回值为随机值,参数为空,通过 rand 函数就会产生一个随机数。
void srand(unsigned int seed):返回值为空, 就是设置随机种子的,当我们不设置随机种子的时候,默认设置的种子为 1,也就是srand(1)。

使用这些函数要引用头文件 #include<stdlib>和#include<time.h>
我们可以在主函数内调用srand函数,让后再自定义一个game函数,把srand函数放到game函数内

代码如下:

#include<stdlib>    //使用srand和rand函数要引用的头文件
#include<stdio.h>
#include<time.h>
void menu()
{
	printf("***********************\n");
	printf("******  1.paly  *******\n");
	printf("******  0.exit  *******\n");
	printf("***********************\n");

}
void game()
{
    //猜数字游戏的实现
    //生成随机数  rand返回的是一个0到32737的数字
    int ret = rand() % 100 + 1;   //%100的余数是0到99,然后加1;
	//printf("%d\n", ret);不能打印出来直到结果	
	//猜数字
	

int main()
{
	int input = 0;
	//游戏进来先打印一个菜单,所以我们可以自定义一个函数
	do
	{
		menu();//打印菜单
		printf("请选择:\n");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			printf("猜数字\n");//开始游戏
            //既然选择了游戏,我们就要设置一个进入游戏的入口
            game()   //自定义一个game函数作为游戏入口
			break;
		case 0:
			printf("退出游戏\n");//退出游戏
			break;
		default:
			printf("选择错误,重新选择\n");
			break;
		}
	} while (input); 
	//这里是一个妙用,选择0时,结束循环,相当于退出游戏
	return 0;
}

写到这里,就实现了随机数生成。

然后就是猜数字的部分了,为了让玩家可以一直猜,直到猜到位置,所以这里我们使用while循环

 代码如下

int guess = 0;   //定义一个要猜的数字
	while (1)
	{
		printf("请猜数字:");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if (guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}

写到这里程序就写完了,把这些代码组合起来就是这样的:

#include<stdlib>    //使用srand和rand函数要引用的头文件
#include<stdio.h>
#include<time.h>
void menu()
{
	printf("***********************\n");
	printf("******  1.paly  *******\n");
	printf("******  0.exit  *******\n");
	printf("***********************\n");

}
void game()
{
    //猜数字游戏的实现
    //生成随机数  rand返回的是一个0到32737的数字
    int ret = rand() % 100 + 1;   //%100的余数是0到99,然后加1;
	//printf("%d\n", ret);不能打印出来直到结果	
	//猜数字
	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()
{
	int input = 0;
	//游戏进来先打印一个菜单,所以我们可以自定义一个函数
	do
	{
		menu();//打印菜单
		printf("请选择:\n");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			printf("猜数字\n");//开始游戏
            //既然选择了游戏,我们就要设置一个进入游戏的入口
            game()   //自定义一个game函数作为游戏入口
			break;
		case 0:
			printf("退出游戏\n");//退出游戏
			break;
		default:
			printf("选择错误,重新选择\n");
			break;
		}
	} while (input); 
	//这里是一个妙用,选择0时,结束循环,相当于退出游戏
	return 0;
}

如果大家学会了,可以点个赞

 谢谢大家

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以为你编写一个数字游戏,程序的步骤如下: 1.首先,生成一个随机整数,介于1到10之间,存入变量n。 2.然后,请用户输入一个数字,存入变量m。 3.比较n和m,如果相等,则游戏结束,提示用户对了;如果n小于m,则提示用户数字大了,继续让用户;如果n大于m,则提示用户数字小了,继续让用户。 4.循环步骤2和步骤3,直到用户中为止。 ### 回答2: 数字游戏是一个非常经典的游戏,我们可以使用Python编写一个简单的数字游戏。下面是一个基本的游戏代码示例: ```python import random # 随机生成一个1到100之间的整数作为答案 answer = random.randint(1, 100) # 定义游戏次数 num_of_guesses = 0 print("欢迎参加数字游戏!") print("游戏规则是测1到100之间的一个数字。") print("每次测后会告诉你数字是大了还是小了,直到中为止。") while True: # 等待玩家输入一个数字 guess = int(input("请输入你测的数字:")) # 游戏次数加1 num_of_guesses += 1 # 判断测的数字与答案的大小关系 if guess < answer: print("你数字太小了!") elif guess > answer: print("你数字太大了!") else: print("恭喜你,对了!") print("你一共了" + str(num_of_guesses) + "次。") break ``` 以上是一个简单的数字游戏的Python实现。游戏开始时,程序会随机生成一个1到100之间的整数作为答案。玩家每次测后,程序会告诉玩家数字是大了还是小了,直到玩家中答案为止。游戏结束后,程序会告诉玩家一共了多少次。希望这个示例能帮到你! ### 回答3: 数字游戏是一款经典的游戏,可以用Python编写一个简单的版本。以下是一个示例程序: ```python import random def guess_number(): target_number = random.randint(1, 100) # 生成一个1到100之间的随机数 guess_count = 0 # 测次数 while True: user_guess = int(input("请输入一个1到100之间的整数:")) if user_guess < target_number: print("数字太小了!") elif user_guess > target_number: print("数字太大了!") else: guess_count += 1 print(f"恭喜你,对了!你总共了{guess_count}次。") break guess_count += 1 guess_number() ``` 运行上述代码后,程序会生成一个1到100之间的随机数字,然后用户需要输入一个数字进行测。程序会根据用户的测给出提示,直到用户对为止。游戏结束后,程序会显示用户对的次数。 希望这个简单的示例程序能够帮助你了解如何使用Python编写一个数字游戏。当然,你也可以根据自己的需求进行修改和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值