猜数字游戏2.0(进阶版)

 一款简单的C语言猜数字游戏;

为了增加猜数字的趣味性,该代码中增加了关卡模式,和段位等级 ;

代码如下:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void game1();
void game2();
void game3();
void menu()
{
	printf("****************************\n");
	printf("*** 1.start      0.exit  ***\n");
	printf("****************************\n");
}
int main()
{
	srand((unsigned int)time(NULL));
	int input;
	menu();
	printf("请输入>:\n");
	do{
		scanf("%d",&input);
	switch(input)
	{
		case 1:
			game1();
			break;
			case 0:
				printf("****退出游戏****"); 
				break;
				case 2:
					game2();
					break;
					case 3:
					game3();
					break; 
				default:
					printf("你tm瞎选啥?\n");
					break; 
	}
	}while(input);
	return 0;
 } 
 void game1()
 {
 	int n;
 	int i=0;
 	int ret=rand()%10+1;
 	printf("*****开始游戏*****\n(在1--10之间猜一个数)\n你只有五次机会\n");
 	while(i<=4)
 	{
 	scanf("%d",&n);
	if(n==ret)
	{
		printf("恭喜你,猜对了!!!!!\n\n进入下一关!!!\选择退出(0)    下一关(2) \n"); 
		break;
	  }  
	 else if(n>=ret)
	 {
	 	i++;
	 	printf("猜大了!(你还剩%d次机会)\n",5-i);
	  } 
	  else{
	  	i++;
	  	printf("猜小了! (你还剩%d次机会)\n",5-i); 
	  }
}
if(i==5)
{
	printf("***游戏结束****\n                          您的段位为>:菜鸟\n选择继续(1)  还是退出(0)\n");
}
 }
 void game2()
 {
 	int n;
 	int i=0;
 	int ret=rand()%100+1;
 	printf("*****开始游戏*****\n(在1--100之间猜一个数)\n你只有五次机会\n");
 	while(i<=4)
 	{
 	scanf("%d",&n);
	if(n==ret)
	{
		printf("恭喜你,猜对了!!!!!\n\n进入下一关!!!\选择退出(0)    下一关(3) \n"); 
		break;
	  }  
	 else if(n>=ret)
	 {
	 	i++;
	 	printf("猜大了!(你还剩%d次机会)\n",5-i);
	  } 
	  else{
	  	i++;
	  	printf("猜小了! (你还剩%d次机会)\n",5-i); 
	  }
}
if(i==5)
{
	printf("***游戏结束****\n                          您的段位为>:新手\n选择重新游戏(1)  还是退出(0)\n");
}
 }
 void game3()
 {
 	int n;
 	int i=0;
 	int ret=rand()%1000+1;
 	printf("*****开始游戏*****\n(在1--1000之间猜一个数)\n你只有五次机会\n");
 	while(i<=4)
 	{
 	scanf("%d",&n);
	if(n==ret)
	{
		printf("恭喜你,猜对了!!!!!\n                            您的段位为>:传奇\n您已完成所有关卡!!!\n选择退出(0)    重新游戏(1) \n"); 
		break;
	  }  
	 else if(n>=ret)
	 {
	 	i++;
	 	printf("猜大了!(你还剩%d次机会)\n",5-i);
	  } 
	  else{
	  	i++;
	  	printf("猜小了! (你还剩%d次机会)\n",5-i); 
	  }
}
if(i==5)
{
	printf("***游戏结束****\n                           您的段位为>:大师\n选择重新游戏(1)  还是退出(0)\n");
}
 }

代码中主要运用了以下几种语句:

1.do...while循环      2.for循环      3.switch分支语句       4if选择语句

(这些都是基础的C语言语句,不会的可以在评论区@我,或者去找一些视频学习)

然后就是函数的运用

(在这里都是些无返回值的函数应用)

最重要的!!!!

对于猜数字来说,随机值是这款小游戏的关键,这里可以找到打印随机值的库函数rand();

其头文件为 #include<stdlib.h>

(这里说一下 rand()函数的随机值范围为:0——32767);

但是仅仅rand()函数不能打出完全随机的数,这时候需要引入一个“时间戳”的概念(这里可以上网查一下)用到time()函数

其头文件为 #include<time.h>

虽然他的随机性偏大一些,但也是属于“伪随机”

在主函数中打出 srand((unsigned int )time(NULL));

time函数的返回值为0;

该代码的重点基本上就这些

希望能够对你们有帮助!!!!!(如果喜欢就点赞收藏一下吧!)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值