当前位置:网站首页>【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;
}
三、运行结果
总结
博主是一个 新人,内容仅供参考,若内容有误,欢迎各位大佬留言指正,谢谢大家。
边栏推荐
- CentOS7 - yum install mysql
- Linux的mysql报ERROR 1045 (28000) Access denied for user ‘root‘@‘localhost‘ (using password NOYSE)
- 数据库上机实验5 数据库安全性
- 数据集划分以及交叉验证法
- Temporal线上部署
- TOGAF之架构标准规范(一)
- 有了MVC,为什么还要DDD?
- The interviewer asked me how to divide the database and the table?Fortunately, I summed up a set of eight-part essays
- MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细
- Flask 的初识
猜你喜欢
<urlopen error [Errno 11001] getaddrinfo failed>的解决、isinstance()函数初略介绍
MYSQL下载及安装完整教程
剑指offer基础版 --- 第21天
剑指offer基础版 ---- 第29天
Anaconda configure environment directives
About the problems encountered by Xiaobai installing nodejs (npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
Interviewer, don't ask me to shake hands three times and wave four times again
MySQL(更新中)
面试官,不要再问我三次握手和四次挥手
剑指offer基础版 ----- 第28天
随机推荐
剑指offer基础版 --- 第24天
Object Detection Study Notes
About the problems encountered by Xiaobai installing nodejs (npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
wx.miniProgram.navigateTo在web-view中跳回小程序并传参
torch.normal函数用法
SQL statement to range query time field
快速掌握并发编程 --- 基础篇
Quickly master concurrent programming --- the basics
matlab simulink欠驱动水面船舶航迹自抗扰控制研究
Data set partitioning and cross-validation
【MySQL8入门到精通】基础篇- Linux系统静默安装MySQL,跨版本升级
mysql uses on duplicate key update to update data in batches
Flask-based three-party login process
[mysql improves query efficiency] Mysql database query is slow to solve the problem
剑指offer基础版 ---- 第29天
【LeetCode-SQL每日一练】——2. 第二高的薪水
tf.keras.utils.get_file()
剑指offer专项突击版 ---- 第2天
剑指offer基础版 ----第31天
Proteus 8 Professional安装教程