猜数字游戏
前言
程序生成随机数字供玩家猜测,猜测错误则有相应的提示,以辅助玩家猜测。
一、使用步骤
1.引入随机数------rand()srand()time()的使用
猜数字游戏的核心是每次游戏开始是系统需要生成不同的随机数字
生成随机数字就需要使用 rand()
随机数字的大小为0~32767
代码如下(示例):
include<stdlib.h>
int ret=rand();
测试结果显示每次生成的随机数字都相同无法满足每次生成不同随机数字的需求之时候就需要引入srand()
srand使用时()内需要传入不同的随机数字种子-----时间在每次运行时都是不同的,这时候就需要引入时间戳的概念。
时间戳----当前时间相对于计算机起始时间的差值每时每刻都是不同的
C语言当中使用time函数获取时间戳
srand((unsigneint)time(NULL))//在整个工程开始时生成一次随机
需要生成的数字为1-100之间而rand生成数字大于要求
1.将rand生成的ret%100-----任何数字%100都是0-99之间
int ret=rand()%100+1//生成0-100之间的随机数字
2.主函数(while(),do while(),switch())
使用do while循环结构构成主循环结构
代码如下(示例):
int main()
{
int input = 0;
srand((unsigned)time(NULL));
do
{
menu();
printf("请选择>:");
scanf("%d", &input);
switch(input)
{
case 1:
game();
break;
case 0:
break;
default:
printf("选择错误,请重新输入!\n");
break;
}
}while(input);//当input==0时,对应退出游戏此时游戏结束退出程序
//当输入为1时循环继续猜数字游戏也继续
return 0;
}
3. menu函数
void menu()
{
printf("**********************************\n");
printf("*********** 1.play **********\n");
printf("*********** 0.exit **********\n");
printf("**********************************\n");
}
4.game()函数
使用while()循环实现反复的猜数字,
当猜测小于被猜数字时提示猜小了继续循环,
当猜测大于被猜数字时提示猜大了继续循环,
当猜测正确时break语句跳出当前的while循环猜测结束。
void game()
{
int random_num = rand()%100+1;
int input = 0;
while(1)
{
printf("请输入猜的数字>:");
scanf("%d", &input);
if(input > random_num)
{
printf("猜大了\n");
}
else if(input < random_num)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
总结—总代码
整体代码的实现
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()
{
printf("**********************************\n");
printf("*********** 1.play **********\n");
printf("*********** 0.exit **********\n");
printf("**********************************\n");
}
//RAND_MAX--rand函数能返回随机数的最大值。
void game()
{
int random_num = rand()%100+1;
int input = 0;
while(1)
{
printf("请输入猜的数字>:");
scanf("%d", &input);
if(input > random_num)
{
printf("猜大了\n");
}
else if(input < random_num)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned)time(NULL));
do
{
menu();
printf("请选择>:");
scanf("%d", &input);
switch(input)
{
case 1:
game();
break
case 0:
break;
default:
printf("选择错误,请重新输入!\n");
break;
}
}while(input);
return 0;
}