当前位置:网站首页>【C语言趣味小游戏——猜数字】
【C语言趣味小游戏——猜数字】
2022-07-31 05:09:00 【悄悄卷s所有人】
前言
猜数字游戏是许多C语言学习者都会涉及到的趣味小游戏,本篇文章用于讲解我编写猜数字游戏的思路和过程。
一、游戏要求及规则
1.要求
用C语言编写一个 程序,用来实现0—100之间的猜数字游戏。
注意:生成数字要随机;答对后,要求反馈回猜数字的次数。
2.游戏规则
1.在游戏菜单界面,选择1进入游戏,选择0退出游戏;
2.选择1进入游戏后,根据游戏提示进行猜数字游戏;
3.选择0,确认是否退出游戏。
二、编写思路
1.生成游戏菜单
运用printf函数直接打印出游戏菜单:
代码如下:
void menu()
{
printf("******************\n");
printf("*******1.piay*****\n");
printf("*******0.exit*****\n");
printf("******************\n");
}
2.构建游戏主体
使用while、do…while、if语句进行游戏主体函数的构建:
代码如下:
void play()
{
int magic = rand() % 100 + 1;
int guess=0;
int counter = 0;
while (1)
{
do
{
printf("请猜一个数字:");
scanf("%d", &guess);
counter++;
if (guess > magic)
{
printf("太大了!\n");
}
else if (guess < magic)
{
printf("太小了!\n");
}
else
{
printf("恭喜你答对了!\n");
break;
}
}
while (guess != magic);
printf("您一共猜了%d次\n", counter);
break;
}
}
3.构建游戏函数
使用do…whil、switch…case、goto语句进行函数主体的构建:
代码如下:
int main()
{
int i,n;
srand((unsigned int)time(0));
do
{
again:
menu();
printf("请选择:");
scanf("%d", &i);
switch (i)
{
case 1:
game();
break;
case 0:
printf("是否退出游戏?:1(是)/0(否)\n");
scanf("%d", &n);
if (n == 1)
{
printf("退出游戏!");
break;
}
if (n == 0)
{
printf("继续游戏!\n");
goto again;
}
default:
printf("输入错误,请重新输入!\n");
}
} while (i);
return 0;
}
三、运行结果
总结
博主是一个 新人,内容仅供参考,若内容有误,欢迎各位大佬留言指正,谢谢大家。
边栏推荐
- [Introduction to MySQL 8 to Mastery] Basics - silent installation of MySQL on Linux system, cross-version upgrade
- docker安装postgresSQL和设置自定义数据目录
- 剑指offer专项突击版 ---- 第1天
- Refinement of the four major collection frameworks: Summary of List core knowledge
- .NET-9. A mess of theoretical notes (concepts, ideas)
- Flink sink ES 写入 ES(带密码)
- Shell重油常压塔模拟仿真与控制
- Sword Point Offer Special Assault Edition ---- Day 2
- Flask 的初识
- Moment Pool Cloud quickly installs packages such as torch-sparse and torch-geometric
猜你喜欢
随机推荐
Multiple table query of sql statement
MYSQL下载及安装完整教程
剑指offer专项突击版 ---第 5 天
Swordsman Offer Special Assault Edition --- Day 3
再见了繁琐的Excel,掌握数据分析处理技术就靠它了
剑指offer专项突击版 ---- 第 6 天
基于web3.0使用钱包Metamask的三方登陆
剑指offer专项突击版 --- 第 3 天
Sword Point Offer Special Assault Edition ---- Day 2
[mysql improves query efficiency] Mysql database query is slow to solve the problem
【MySQL8入门到精通】基础篇- Linux系统静默安装MySQL,跨版本升级
MySQL_关于JSON数据的查询
Numpy中np.meshgrid的简单用法示例
运用flask框架发送短信验证码的流程及具体代码
为什么要用Flink,怎么入门使用Flink?
Swordsman Offer Special Assault Edition ---- Day 6
torch.normal函数用法
Input length must be multiple of 8 when decrypting with padded cipher
【LeetCode-SQL每日一练】——2. 第二高的薪水
剑指offer专项突击版 ---- 第2天