前言
(声明一下,凡人小严初学C语言,概念性的内容就不细说啦,还是注重实践理解)
要求一:做出规则界面,输入数字‘0’进入游戏菜单界面。
要求二:游戏菜单界面,输入数字‘1’开始游戏;输入数字‘2’进入模式选择;输入数字‘3’退出游戏。
要求三:模式选择分为两种,第一种无限输入次数,第二种自定义输入次数。
要求四:进入游戏后,需要添加输入数字‘999’强制退出游戏。
要求五:若玩家输入数字不在区间内,提示玩家。
要求六:尽可能多的提示玩家下一步操作
注意:以下分布只展示部分代码,均为截取,文章结尾为完整代码及注释。
第一步:int main()return 0 起步喽
首先,主函数,我们肯定要先完成要求一。利用printf函数打印出规则界面和下一步操作,再利用scanf函数储存输入数据。
int input = 0;
printf("******猜数字******\n");
printf("介绍:\n系统将随机生成一个1~100的数字,请输入一个在此区间的数字,系统会自动判断您输入的输与随机数的大小。\n");
printf("输入 0 进入菜单\n");
scanf("%d", &input);
第二步:做出菜单界面
这里,我们为了简化主函数,我们就可以简单地利用子函数。于是,我们引入子函数menu()打印菜单(之后的游戏程序也相同)。为了进入不同界面,这里,我们就可以利用Switch函数判断输入数据来完成。
void menu()
{
printf("请输入对应序号进入\n");
printf("******1.开始******\n");
printf("****2.模式设置****\n");
printf("******3.退出******\n");
}
switch (input)
{
case 0:
menu();
case 1:
game();
case 2:
printf("请输入模式序号\n");
printf("11:无限输入次数(系统默认)\n");
printf("22:自定义输入次数\n");
scanf("%d", &flat);
break;
case 3:
printf("游戏已关闭\n");
break;
default:
printf("输入错误,请重新输入\n");
原本是想把模式界面也分隔出去,但不明确子函数menu()是否能创建多个,所以,就直接在case 2:下编写。
第三步:编写跳转语句
现在就涉及到一个问题了,打印完菜单以及选择完模式后,我们如何跳转回初始游戏菜单界面。这里,我选择使用goto语句,构建多个定义跳转点。
int main()
{
int input = 0;
printf("******猜数字******\n");
printf("介绍:\n系统将随机生成一个1~100的数字,请输入一个在此区间的数字,系统会自动判断您输入的输与随机数的大小。\n");
printf("输入 0 进入菜单\n");
again:
scanf("%d", &input);
switch (input)
{
case 0:
agains:
menu();
goto again;
case 1:
game();
goto agains;
case 2:
printf("请输入模式序号\n");
printf("11:无限输入次数(系统默认)\n");
printf("22:自定义输入次数\n");
scanf("%d", &flat);
goto agains;
break;
case 3:
printf("游戏已关闭\n");
break;
default:
printf("输入错误,请重新输入\n");
goto again;
}
return 0;
}
到这里我们就完成了主函数的编写,完成了要求一和要求二。
第四步:编写game()
既然是猜数字游戏,那么,每一次的游戏开始,系统都要随机生成一个玩家无法预测的数字。这里,我们首先先引入rand()函数,随机生成数字。简单编一个(非猜数字内)。
#