简易的猜数字游戏实现(C语言)

导言:

本篇博客将介绍一个简单的C代码示例——猜数字游戏,通过解析代码中的各个部分,帮助读者了解如何使用基本的C语言语法和逻辑来开发一个简单而有趣的游戏。

先给出运行的结果:

1.我们先在main()函数里把框架搭好,考虑猜数字的特性:用户需要输入自己猜的数字,将数字与答案进行比较,根据不同的结果打印不同的提示信息。考虑到猜数字很难一次猜中,同时用户至少要进行一次选择,所以我们可以利用do{}  while()循环进行重复的游戏,同时游戏结束用户可以选择继续玩或者退出游戏。整体代码的框架我们可以用switch()语句实现。代码如下:

int main() {
	int choice = 0;
	do {
		menu();//菜单
		printf("请输入您的选择:\n");
		scanf("%d", &choice);
		switch (choice) {
		case 1:
			game();//游戏函数
			break;
		case 2:
			printf("退出游戏\n");
			break;
		default:
			break;
		}
	} while (choice != 2);
	return 0;
}

2. 接着我们实现猜数字游戏的菜单页面,定义一个菜单函数:menu(),根据用户的不同输入进入不同的功能。在菜单里面可以简单的打印出想要的菜单格式,也可以自己改变图形背景等。这里从简处理,代码如下:

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

}

3.最后我们来实现游戏的代码,猜数字首先得有一个数字,我们采用随机的方式产生一个随机数,这需要rand()函数,同时为了让游戏的范围更加可控,可以对rand()函数进行取余操作来保证产生的随机数在1~100之间,便于用户进行游戏。

int ret = rand() % 100 + 1;//控制范围1~100

这样仅仅是产生了一个伪随机数,为了真正实现随机我们还需要一个随机数种子,我们只需要利用srand()函数即可实现该功能,其中该函数的参数需要随时间变换,利用time(),再将time()强制类型转化成unsigned int即可。考虑到一局游戏我们只产生一次随机数,所以该函数的位置我们也只需main()函数中。

srand((unsigned int)time(NULL));//随机数种子

产生完随机数后,我们需要接收用户的输入,并判断其与随机数的大小,根据不同情况打印不同的提示语句。首先要先打印提示信息,提醒用户进行输入,利用scanf()函数接收其值。再通过if(){} else{}分支语句对不同的情况进行不同的处理,如果猜的数比随机值大,则打印提示语句:猜大了,猜的数比随机值小就提醒:猜小了,猜的数和随机值相等就提醒用户:恭喜你,猜对了。用户猜对后再让用户进行选择,可以继续游戏也可以直接退出。代码如下:

void game() {
	int ret = rand() % 100 + 1;//控制范围1~100
	int guess = 0;
	while (1) {
		printf("请输入您要猜的数字:\n");
		scanf("%d", &guess);
		if (guess > ret) {
			printf("猜大了\n");
		}
		else if (guess < ret) {
			printf("猜小了\n");
		}
		else {
			printf("恭喜您猜对了\n");//猜对后,直接跳出循环
			break;
		}
	}
}

4.最后再给出完整的代码:

#pragma warning(disable:4996)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu() {
	printf("*****************\n");
	printf("***1.play  2.exit***\n");
	printf("*****************\n");

}
void game() {
	int ret = rand() % 100 + 1;//控制范围1~100
	int guess = 0;
	while (1) {
		printf("请输入您要猜的数字:\n");
		scanf("%d", &guess);
		if (guess > ret) {
			printf("猜大了\n");
		}
		else if (guess < ret) {
			printf("猜小了\n");
		}
		else {
			printf("恭喜您猜对了\n");
			break;
		}
	}
}
int main() {
	int choice = 0;
	srand((unsigned int)time(NULL));//随机数种子
	do {
		menu();
		printf("请输入您的选择:\n");
		scanf("%d", &choice);
		switch (choice) {
		case 1:
			game();
			break;
		case 2:
			printf("退出游戏\n");
			break;
		default:
			break;
		}
	} while (choice != 2);
	return 0;
}

总结:

这篇博客介绍了一个简单的C代码示例,展示了如何使用C语言编写一个猜数字游戏。通过了解代码中的各个部分,读者可以更好地理解C语言的基本语法和逻辑。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值