一款简单的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;
该代码的重点基本上就这些
希望能够对你们有帮助!!!!!(如果喜欢就点赞收藏一下吧!)