猜数字游戏代码及分析
1.题目分析及能力要求
2.各个部分代码讲解及展示
3.呈现总代码及其编译结果
一、制作这个小游戏需要注意什么?
1.在生成随机数时要加入时间的变化确保,每次生成的随机数不是同一个数字
所以要用到 srand((unsigned int ) time (NULL)) ,记得在使用时要加入头文件
#include<time.h> ,并且开辟空间,所以还要用到头文件 #include<stdlib.h>
2.要熟练运用while循环和if-else等
二、使用步骤
1.需要用到的不常用的代码及其头文件:
代码如下:
srand((unsigned int ) time (NULL))
#include<time.h>
#include<stdlib.h>
主函数的实现
int main()
{
srand((unsigned int)time(NULL));
int put=0;
do
{
menu();//菜单(是否开始游戏)
printf("选择1开始游戏,选择0退出游戏!\n");
scanf("%d",&put);//选择数字决定游戏是否开始
switch(put)
{
case 1:
game();//调用游戏函数,开始游戏
case 0:
printf("游戏结束退出游戏!\n");
break;//选择0退出游戏
default :
printf("输入有误,请重新输入!\n");
}
}while(put);
return 0;
}
菜单函数的实现
void menu()
{
printf("****************\n");
printf("*****1.Play*****\n");
printf("*****0.Exit*****\n");
printf("****************\n");
}
游戏函数的实现
void game()
{
int ret=rand()%100+1;//生成1-100的随机数
int guess=0;
while(1)
{
printf("请输入您要猜测的数字:\n");
scanf("%d",&guess);
if(guess>ret)//比较生成的随机数与手动输入的大小
{
printf("猜测过大,请重新猜测!\n");
}
else if(guess<ret)
{
printf("猜测过小,请重新猜测!\n");
}
else
{
printf("恭喜你,猜对了!随机数是:%d\n",ret);
break;
}
}
}
编译结果
总代码的实现
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("****************\n");
printf("*****1.Play*****\n");
printf("*****0.Exit*****\n");
printf("****************\n");
}
void game()
{
int ret=rand()%100+1;//生成1-100的随机数
int guess=0;
while(1)
{
printf("请输入您要猜测的数字:\n");
scanf("%d",&guess);
if(guess>ret)//比较生成的随机数与手动输入的大小
{
printf("猜测过大,请重新猜测!\n");
}
else if(guess<ret)
{
printf("猜测过小,请重新猜测!\n");
}
else
{
printf("恭喜你,猜对了!随机数是:%d\n",ret);
break;
}
}
}
int main()
{
srand((unsigned int)time(NULL));
int put=0;
do
{
menu();//菜单(是否开始游戏)
printf("选择1开始游戏,选择0退出游戏!\n");
scanf("%d",&put);
switch(put)
{
case 1:
game();//调用游戏函数,开始游戏
case 0:
printf("游戏结束退出游戏!\n");
break;//选择0退出游戏
default :
printf("输入有误,请重新输入!\n");
}
}while(put);
return 0;
}