C的趣味时刻----简单又有趣的猜数字游戏

第一步,让我们先打印一下菜单,毕竟仪式感还是要有的

注意:为了让代码不显得冗余,保持代码独立性,我们单独自定义函数打印菜单

如下:

void menu() {
	printf("###########  猜数字游戏  ############\n");
	printf("###########  1.   begin  ############\n");
	printf("###########  0.   exit   ############\n");
}

 第二步,确定输入数字0或1,让玩家选择开始游戏还是退出游戏

这里使用scanf()函数进行控制输入(关于scanf函数的用法可以查看如下两个网站:

1.cplusplus.com - The C++ Resources Network

2.cppreference.com)

同时可以输出一定提示让玩家更有游戏体验感,获取玩家输入选择后可以使用switch语句实现三种情况(1.开始游戏 2.结束游戏 3.输入错误)下程序的返回结果(玩家输入肯定要借用循环,直到选择退出才跳出循环)

int input = 0;
	do {
		menu();
		printf("是否开始猜数字游戏?>");
		scanf("%d", &input);
		switch (input) {
		case 0:
			printf("exit退出");
			break;
		case 1:
			playGame();
			break;
		default:
			printf("输入错误,请重新输入!");
			break;
		}
	} while (input);


这样准备工作就做好了!!!!

第三步,实现玩游戏的逻辑(其实就两步,一是生成随机数。二是猜数字。这里我单独把这个逻辑放在playGame()函数中)

注意:生成随机数需借用两个函数,srand()函数(需提前调用此函数设置随机数生成器)和rand(生成随机数)函数,两函数具体使用方法请查看第二步的俩个推荐网站

void playGame() {
	//1.生成随机数
	int num = 0;
	int keyNum = rand() % 100 + 1;

	//2.猜数字
	while (1) {
		printf("请输入你心中的正确的数字:>");
		scanf("%d", &num);
		if (num < keyNum) {
			printf("猜小了\n");
		}else if (num > keyNum) {
			printf("猜大了\n");
		}else {
			printf("恭喜您猜对了!\n");
			break;
		}
	}
}

而srand()函数我放在游戏开始之前设定,防止出现同一随机数

这样成功实现了猜数字游戏!!!

C的趣味时刻----简单又有趣的猜数字游戏_第1张图片

是不是很简单呢?这边是我的全部代码,想要借鉴的码友可以试试哦!!!

#include 
#include 
void menu() {
	printf("###########  猜数字游戏  ############\n");
	printf("###########  1.   begin  ############\n");
	printf("###########  0.   exit   ############\n");
}

void playGame() {
	//1.生成随机数
	int num = 0;
	int keyNum = rand() % 100 + 1;

	//2.猜数字
	while (1) {
		printf("请输入你心中的正确的数字:>");
		scanf("%d", &num);
		if (num < keyNum) {
			printf("猜小了\n");
		}else if (num > keyNum) {
			printf("猜大了\n");
		}else {
			printf("恭喜您猜对了!\n");
			break;
		}
	}
}

int main() {
	int input = 0;
	//设置随机数生成器
	srand((unsigned int)time(NULL));
	do {
		menu();
		printf("是否开始猜数字游戏?>");
		scanf("%d", &input);
		switch (input) {
		case 0:
			printf("exit退出");
			break;
		case 1:
			playGame();
			break;
		default:
			printf("输入错误,请重新输入!");
			break;
		}

	} while (input);
	return 0;
}

创作不易,如有帮助到你,请各位码友多多支持哦~~~ 

你可能感兴趣的:(游戏)