一个猜数字的游戏

游戏代码如下:
#include <stdlib.h>
#include <time.h>
void game()
{
	int x=0;
	int num=0;
	srand((unsigned int)time(NULL));
	x=rand()%100;
	
	while(1)
	{
		printf("请输入你猜的数字:");
		scanf("%d",&num);
		if(x==num)
		{
			printf("恭喜你猜对了\n");
			break;
		}
		else if(num>x)
		{
			printf("太大了\n");
		}
		else
		{
			printf("太小了\n");
		}
	}


}
void menu()
{
	printf("**************************\n");
	printf("0:结束游戏;1:开始游戏\n");
	printf("**************************\n");
}
int main()
{
	int input=0;
	
	
	do
	{
		menu();
	        scanf("%d",&input);
		switch(input)
		{
			
		case 1:game();break;
	        case 0:exit(0);break;
	        default:break;
		}
	}while(input);
 return 0;
}

代码解析:

这个游戏大致是玩家进入之后会遇到一个菜单,根据菜单提示,输入1或0来选择开始游戏或结束游戏,因此我们建立了menu()这个函数做为菜单在屏幕上的输出,而选择do...while()语句以及switch语句,一是因为根据菜单提示玩家可以做出选择来走两个不同的方向,所以采用switch这个分支语句,二是因为玩家在玩了一次游戏后依旧可以像刚开始的时候一样根据菜单做出选择,因此这里需要循环语句的加入,而且有至少得循环一次,所以采用do...while()语句。而进入游戏之后,系统自身会产生一个系统认为对的数字,而这个数字是随机的,因此我们调用了srand()以及rand()这两个函数来产生随机数,同时因为是库函数,所以,需要事先声明。而游戏进一步进行,玩家会根据提示将所猜的数字进行调整,但只要还没猜对就会一直继续,所以这里需要循环语句,而因为这里没有其他条件所以只要用while()语句即可,而当玩家猜对时,那么就会结束这一次的游戏,所以用break来终止循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值