C语言-猜数游戏
#include<stdio.h>
#include<stdlib.h>//清屏操作所用到的头文件//
#include<time.h>//随机种子的产生所用到的头文件//
void nemu()//创建游戏菜单//
{
printf("G U A S S 猜数游戏 N U M B E R\n");
printf("-----------------------------------------\n");
printf("*************** 1.开始游戏 **************\n");
printf("*************** 2.退出游戏 **************\n");
printf("-----------------------------------------\n");
}
void Game()//创建游戏函数//
{
int a=0;
int b=0;
int max=100,min=1;
int i=1;
int difficultyLevel=0;//设立难度等级//
printf("************************************\n");
printf("游戏难度等级设置:\n");
printf("1:简单模式\n");
printf("2:困难模式\n");
printf("3:极难模式\n");
printf("请选择游戏难度等级:\n");
scanf("%d",&difficultyLevel);
printf("************************************\n");
switch(difficultyLevel)
{
case 1:
{
min=1;
max=100;
break;
}
case 2:
{
min=1;
max=1000;
break;
}
case 3:
{
min=1;
max=10000;
break;
}
default:
printf("输入错误!请输入1~3难度等级!\n");
break;
}
srand((unsigned)time(NULL));//强制类型转换,通过时间返回值来获取时间产生随机种子//
//time(),设置时间戳时间种子有符号的64位整数,返回现在的时间//
//随机种子发生变化,数字就会变化//
//srand是一个32位无符号的整数//
a=(rand()%(max-min+1))+min;//产生随机种子,先获取0~max之间的随机数,然后对max-min+1取余,这样得到0~max-min,再加上最小值min,就是需要的随机数//
do//循环游戏//
{
switch(difficultyLevel)
{
case 1:
{
printf("游戏开始!随机数范围是[0,100],请输入您的猜测数字:\n");
scanf("%d",&b);
break;
}
case 2:
{
printf("游戏开始!随机数范围是[0,1000],请输入您的猜测数字:\n");
scanf("%d",&b);
break;
}
case 3:
{
printf("游戏开始!随机数范围是[0,10000],请输入您的猜测数字:\n");
scanf("%d",&b);
break;
}
default:
return ;
break;
printf("重新输入!");
}
if(a>b)
{
i++;
printf("Wrong! So small!\n");
}
else if(a<b)
{
i++;
printf("Wrong! So big!\n");
}
else
{
printf("Right!\n");
printf("您一共猜了%d次!\n",i);
break;
}
}
while(a!=b);
}
int main(void)
{
int a=0;
do//循环菜单//
{
nemu();
printf("请输入选项:\n");
scanf("%d",&a);
switch(a)
{
case 1:
Game();
break;
case 2:
system("cls");//实现清屏操作//
break;
default://当用户输入不正确的数字时,很有必要//
printf("您的输入有误!请重新输入!\n");
break;
}
}
while(1);
system("pause");//停止游戏//
return 0;
}