前言:
一个游戏要有界面、有实现的函数;明确这两点之后,我们先搭建框架,之后在去完善每一个框架的细节!
第一步.编写游戏界面函数menu()和游戏的实现函数game();
代码如下:
void game()
{
printf("玩游戏!");
}
void menu() //菜单函数
{
printf("*****************************\n");
printf("**********猜数字游戏**********\n");
printf("*******1.paly 2.exit******\n");
printf("*****************************\n");
}
int main()
{
int input;
srand((unsigned int)(time(NULL)));
do {
menu();
printf("请选择:\n");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 2:
printf("退出游戏!\n");
break;
default:
printf("输入错误,请重新输入!\n");
break;
}
} while (input);
return 0;
}
输出结果为:
第二步.完善游戏实现函数game();
代码如下:
void game() //开始玩游戏
{
int guess = 0; //猜的数字
int count = 0; //统计猜的次数
int ren;
//1.产生随机数
//2.时间戳:当前时间-计算机起始时间(1970.1.1.0:0:0) time_t time(time_t* timer)
//srand((unsigned int)(time(NULL)));
ren = rand() % 100 + 1; //设置1-100之间的随机数
//printf(“这个随机数是%d\n”, ren);
while (1)
{
printf("请输入你认为的数:\n");
scanf("%d", &guess);
if (guess > ren) {
count++;
printf("猜大了\n");
}
if (guess < ren) {
count++;
printf("猜小了\n");
}
if (guess == ren) {
printf("恭喜你,猜对了!\n");
printf("你一共猜了 % d次\n", count);
break;
}
}
}
第三步.调试+优化=最终结果
四.最后
4.1怎么样产生随机数?
答:
(1)通过电脑自动生成一个随机数,而我们又想每次玩游戏所产生的数都不同,我们知道时间是无时无刻不在变换的,这里引入一个时间戳的概念;
(2)时间戳:等于当前时间 - 计算机起始时间(1970.1.1.0:0:0)
(3)随机数生成:rand()函数;使用之前要先设置一个起始点,srand((unsigned int)(time(NULL))),则表示以一个时间为起始点;
4.2总结
- 其实整个小游戏实现的思路很清晰,关键在于我们要动手实际去实现它,遇到问题先思考,然后调试进行解决,你才会有很多收获。
- 本次分享就到此结束了,我们下次见😘