1.游戏简述
让程序随机生成1~100之间的数字,然后用户进行猜数字,根据用户输入的数字进行判断,当数字大了或小了将会提示:猜大了/猜小了,请重新输入,猜对之后将会提示猜对了,并重新选择是否继续进行游戏。
2.简易菜单实现
void menu()
{
printf("*********************\n");
printf("***1. paly 0. exit***\n");
printf("*********************\n");
}
//猜数字游戏
int main(){
int input = 0;
srand((unsigned int)time(NULL)); //根据时间戳进行播种
do
{
menu();
printf("请输入数字:->");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,请重新输入:->\n");
break;
}
} while (input);
return 0;
}
根据用户输入0或是1选择进行游戏还是退出游戏,当输入选项不为1或0时,将会提示输入错误并要求重新输入,因为input的值为0时选择退出游戏,所以可以直接根据input的值作为循环条件判断。
3.游戏部分的实现
void game()
{
int input = 0;
printf("请猜数字:->");
//生成随机数范围1~100
int num = rand()%100+1;
//判断数字大小
while (input != num)
{
scanf("%d", &input);
if(input > num)
{
printf("猜大了\n");
printf("请重新输入:->");
}
else if(input < num)
{
printf("猜小了\n");
printf("请重新输入:->");
}
else
{
printf("猜对了\n");
}
}
}
首先需要生成随机数,这里需要用到rand()函数与srand()函数,具体用法可自我查询,rand()函数将会生成随机数,想要获取1-100范围的数值时,只需取模膜上100并加1就会生成1~100的数值范围。
取模的使用:简单来说取模就是模上一个n就可以得到0~n-1范围的数值,在通过加上一个m就可以得到m~n-1+m的范围数值,举个例子就是如果想得到5~10范围的数值就可以通过模上6得到0~5在加上5可以得到想要的5~10范围啦。
最后通过判断输入的数字与随机生成的数字之间进行判断,最终根据提示猜到系统随机生成的数字。
至此,猜数字游戏就完成啦!