今天利用这几天所学的分支与循环知识,制作了一个猜数字的小游戏,下面将我所写的代码分享給大家。
1.游戏菜单函数
void menu()
{
printf("******************\n");
printf("*** 1.play ***\n");
printf("*** 0.exit ***\n");
printf("******************\n");
}
2.猜数字游戏的主逻辑
rand函数生成的是伪随机数,是根据种子值计算出来的,默认种子值为1,要想生成不同的随机数,可以使用srand函数设置种子值
void game()
{
int true = rand()%100 + 1;
int guess = 0;
int left = 5;
system("cls"); //可以清屏
while (left)
{
printf("你还有%d 次机会\n", left);
printf("请猜数字\n:");
scanf("%d", &guess);
if (guess > true)
{
printf("猜大了");
}
else if (guess < true)
{
printf("猜小了");
}
else
{
printf("猜对了");
break;
}
left--;
}
if (left == 0)
printf("游戏失败\n正确数字为%d\n", true);
}
3.函数主体
srand函数是(unsigned int型)设置随机数种子,time(NULL)返回当前时间的秒数作为种子值,这样每次运行程序时生成的随机数都不同
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请输入数字\n:");
scanf("%d",&input);
switch (input)
{
case 1:
printf("开始游戏\n");
game();
case 0:
printf("游戏结束\n");
break;
default:
printf("输入错误,重新输入\n");
break;
}
} while (input);
return 0;
}