猜数字小游戏

Posted 花嵩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猜数字小游戏相关的知识,希望对你有一定的参考价值。

前言:

1.博主实力有限,有什么错误的地方,请指出,非常感谢!
2.猜数字游戏最麻烦的地方在于:制造那个要猜的数字即随机数。详见我的另外一篇博客:随机数的生成

思路:

选择菜单打印代码
void menu()
{
	printf("**************************\\n");
	printf("*****1.Play***************\\n");
	printf("*****0.Exit***************\\n");

}


判断代码
int main ()
{
	
	srand((size_t)time(NULL));//设置随机数种子
	int choice = 0;//注意别把choice放到do语句里面,
	               //因为当while判断循环条件choice时,choice的生命周期已经结束。
	
	do
	{
		menu();
		scanf("%d", &choice);
		switch (choice)//注意break的使用。
		{
		case 1:game();
			break;
		case 0:printf("退出\\n");
			break;
		default:printf("选择错误\\n");
			break;
		}
	} while (choice);
	
	return 0;
}
执行游戏代码
void game()
{

	int a = rand()%100;//通过%运算符生成100以内的随机数。
	int x = 0;
	while (1)
	{
		printf("请输入你所猜的数:");
			scanf("%d", &x);
		if (x == a)
		{
			printf("恭喜你猜对了,该数字是%d\\n", a);
			break;
		}
		else if(x>a)
 		{
			printf("猜大了\\n");
		}
		else
		{
			printf("猜小了\\n");
		}
	}
}

全部代码:

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h> 
#include <time.h>
void menu()
{
	printf("**************************\\n");
	printf("*****1.Play***************\\n");
	printf("*****0.Exit***************\\n");

}

void game()
{

	int a = rand()%100;//通过%运算符生成100以内的随机数。
	int x = 0;
	while (1)
	{
		printf("请输入你所猜的数:");
			scanf("%d", &x);
		if (x == a)
		{
			printf("恭喜你猜对了,该数字是%d\\n", a);
			break;
		}
		else if(x>a)
 		{
			printf("猜大了\\n");
		}
		else
		{
			printf("猜小了\\n");
		}
	}
}

int main ()
{
	
	srand((size_t)time(NULL));//设置随机数种子
	int choice = 0;//注意别把choice放到do语句里面,
	               //因为当while判断循环条件choice时,choice的生命周期已经结束。
	
	do
	{
		menu();
		scanf("%d", &choice);
		switch (choice)//注意break的使用。
		{
		case 1:game();
			break;
		case 0:printf("退出\\n");
			break;
		default:printf("选择错误\\n");
			break;
		}
	} while (choice);
	
	return 0;
}

总结:

1.程序需要的函数较少,代码较短,因此可以不需要自定义函数库。
2.随机数的生成需要格外注意。最好别把srand()放到循环中

以上是关于猜数字小游戏的主要内容,如果未能解决你的问题,请参考以下文章

java猜数字游戏代码

c语言猜数字游戏源代码

c语言设计猜数字游戏

c语言猜数字

猜数字游戏程序设计

猜数字游戏的控制台代码