目录
游戏要求
第一、电脑自动产生1~100的随机数
第二、玩家猜数字,根据猜测的数据给出大了或小了的反馈,直到猜对,游戏结束。
一、怎么生成随机数?
- rand函数会生成一个伪随机,范围:0~PAND_MAX (32767)
- 调⽤rand函数之前先调⽤srand函数,通过srand函数的参数seed来设置rand函数⽣成随机数的时候的种⼦,只要种⼦在变化,每次⽣成的随机数序列也就变化起来了
- 在程序中使用时间time来作为种子。
提示:srand函数不需要频繁的调用,一次运行的程序调用一次就够了。
二、设置随机数的范围
1.如果生成0~99之间的随机数
代码如下(示例):
rand() % 100; //余数的范围是0~99
2.如果生成1~100之间的随机数
代码如下(示例):
rand()%100+1;//%100+1的余数是1~100
3.如果生成100~200之间的随机数
代码如下(示例):
100+rand()%100+1;//%100+1的余数是100~200
三、猜数字代码实现
1.运用的库函数:
#include<stdio.h>——scanf、printf
#include<stdlib.h>——srand
#include<time.h>——((unsigned int)time(NULL))
2.主函数
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
menu();
printf("请输入:>\n");
scanf("%d", &input);
do
{
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,请重新输入\n");
}
} while (input);
return 0;
}
3.自定义菜单函数:
void menu()
{
printf("**********\n");
printf("**1.play**\n");
printf("**0.exit**\n");
printf("**********\n");
}
4.游戏函数
void game()
{
int r = rand() % 100 + 1;//产生1~100的随机数
int guess = 0;//定义猜的数字
int count = 5;//定义猜的次数//游戏的主要逻辑思路
while (count)
{
printf("还有%d次机会\n", count);
scanf("%d", &guess);
if (guess > r)
{
printf("猜大啦\n");
}
else if (guess < r)
{
printf("猜小啦\n");
}
else if (guess == r)
{
printf("恭喜你,猜中啦\n");
}
count--;
}
if (count == 0)
{
printf("没有机会啦,正确答案是:%d\n", r);
}
}
四、汇总实现
#include<time.h>
#include<stdlib.h>
#include<stdio.h>
//菜单函数
void menu()
{
printf("**********\n");
printf("**1.play**\n");
printf("**0.exit**\n");
printf("**********\n");
}
//游戏函数
void game()
{
int r = rand() % 100 + 1;//产生1~100的随机数
int guess = 0;//定义猜的数字
int count = 5;//定义猜的次数
//游戏的主要逻辑思路
while (count)
{
printf("还有%d次机会\n", count);
scanf("%d", &guess);
if (guess > r)
{
printf("猜大啦\n");
}
else if (guess < r)
{
printf("猜小啦\n");
}
else if (guess == r)
{
printf("恭喜你,猜中啦\n");
}
count--;
}
if (count == 0)
{
printf("没有机会啦,正确答案是:%d\n", r);
}
}
//主函数
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
menu();
printf("请输入:>\n");
scanf("%d", &input);
//选择界面
do
{
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,请重新输入\n");
}
} while (input);
return 0;
}
总结
猜数字游戏的实现
主要是运用的分支和循环的知识运用,希望大家能够熟悉这一篇章的内容。