C语言怎么猜数字小游戏
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要讲解了"C语言怎么猜数字小游戏",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C语言怎么猜数字小游戏"吧!清楚实现目标做任何一个小项目之前,
千家信息网最后更新 2025年02月04日C语言怎么猜数字小游戏
这篇文章主要讲解了"C语言怎么猜数字小游戏",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C语言怎么猜数字小游戏"吧!
清楚实现目标
做任何一个小项目之前,我们首先都需要明确自己想要实现的目标.
所以猜数字游戏的实现目标是啥?
电脑随机给出一个目标数字,玩家进行猜测
电脑会根据玩家猜测的数字,提示猜大了还是小了
直到猜对为止,一轮游戏结束.
游戏结束会询问是否继续.1代表继续,0代表不继续.
游戏模式有3种(简单,普通,困难),对应内容分别为猜25次,15次,5次
游戏会记录你的战绩,在菜单中按2表示查询战绩.
明确逻辑结构
清楚的知道了想要实现的目标,那最开始的步骤就是搭建逻辑结构.
所以逻辑结构是啥呢?
有一个菜单提示,内容为按1代表开始/继续游戏,2代表查询战绩,0代表退出游戏,其他按键提示输入错误
输入2后,会再次跳出菜单.提示输入错误后,可以重新输入命令
输入1后,会询问游戏模式,然后开始.
所以逻辑结构如下:
#includeint computer = 0; //电脑的战绩int player = 0; //玩家的战绩int main(){ int input = 0;//键入命令 do { menu();//菜单提示模块,后面进行实现 scanf("%d", &input); switch (input) { case 0: printf("成功退出游戏"); break; case 1: playgame(); //玩游戏模块,后面进行实现 store(); //存储战绩模块 break; case 2: query();//查询战绩模块,后面进行实现 break; } } while (input); return 0;}
功能细节实现
菜单模块
按照目标要求,菜单木块代码如下:
void menu(){ printf( "*******************************************************" "******************* 0----退出游戏 ********************" "******************* 1----开始游戏 ********************" "******************* 2----查询战绩 ********************" "*******************************************************" );}
储存战绩
这个的目标是无论啥时候打开游戏,都会记录之前玩过的成绩.
void store(){ FILE* fp = fopen("grade.txt","w+"); if (fp == NULL) { exit(-1); } else { fprintf(fp,"computer : player = %d : %d",computer,player); } fclose(fp);}
游戏模块
游戏模块的功能是:
玩家选择游戏模式,
然后电脑首先会随机给出一个玩家需要猜测的数字.
大概提示数字在哪个范围.
玩家开始猜测.并且每猜测一次,都会提示还剩余几次机会.
void playgame(){ srand(time(NULL)); //随机数种子 int target = rand() % 1001;//代表电脑的随机数 int input = 0, num = 0; //input 代表游戏猜测的数字,num代表猜测剩余次数 num = mode(); //游戏模式选择模块,后面进行实现 while (1) { printf("请输入你认为是答案的数字:"); scanf("%d",&input); if (num == 0) { break; } if (input > target) { printf("猜大了,再试试"); } else if (input > target) { printf("猜小了,再试试"); } else { printf("恭喜你,猜对了"); break; } num--; printf("你还剩余%d次机会哦~~~~", num); } if (!num) { printf("很遗憾,你输了"); computer++; //标记战绩 } else { printf("恭喜你,你赢了"); player++; } printf("是否还继续游戏呢?");//这一步是提醒玩家是否继续.}
游戏模式选择
int mode(){ char str[20] = { 0 }; int num = 0; printf("请输入游戏模式:简单 普通 困难:"); scanf("%s", str); if (strcmp("简单", str) == 0) { num = 25; } else if (strcmp("普通", str) == 0) { num = 15; } else { num = 5; } return num;}
战绩查询
void query(){ FILE* fp = fopen("grade.txt","r"); int a = 0, b = 0; char p[60] = { 0 }; if (fp == NULL) { exit(-1); } else { fgets(p,60,fp); printf("%s",p); } fclose(fp); printf("游戏是否继续?");}
成品展示
#include#include #include #include int computer = 0; //电脑的战绩int player = 0; //玩家的战绩void menu(){ printf( "*******************************************************" "******************* 0----退出游戏 *******************" "******************* 1----开始游戏 *******************" "******************* 2----查询战绩 *******************" "*******************************************************" );}int mode(){ char str[20] = { 0 }; int num = 0; printf("请输入游戏模式:简单 普通 困难:"); scanf("%s", str); if (strcmp("简单", str) == 0) { num = 25; } else if (strcmp("普通", str) == 0) { num = 15; } else { num = 5; } return num;}void playgame(){ srand(time(NULL)); //随机数种子 int target = rand() % 1001;//控制数字在0-1000 int input = 0, num = 0; //input 代表游戏猜测的数字,num代表猜测剩余次数 num = mode(); //游戏模式选择模块 while (1) { printf("请输入你认为是答案的数字(0-1000):"); scanf("%d",&input); if (num == 0) { break; } if (input > target) { printf("猜大了,再试试"); } else if (input < target) { printf("猜小了,再试试"); } else { printf("恭喜你,猜对了"); break; } num--; printf("你还剩余%d次机会哦~~~~", num); } if (!num) { printf("很遗憾,你输了"); computer++; //标记战绩 } else { printf("恭喜你,你赢了"); player++; } printf("是否还继续游戏呢?");//这一步是提醒玩家是否继续.}void query(){ FILE* fp = fopen("grade.txt","r"); int a = 0, b = 0; char p[60] = { 0 }; if (fp == NULL) { exit(-1); } else { fgets(p,60,fp); printf("%s",p); } fclose(fp); printf("游戏是否继续?");}void store(){ FILE* fp = fopen("grade.txt","w"); if (fp == NULL) { exit(-1); } else { fprintf(fp,"computer : player = %d : %d",computer,player); } fclose(fp);}int main(){ int input = 0;//键入命令 do { menu();//菜单提示模块,后面进行实现 scanf("%d", &input); switch (input) { case 0: printf("成功退出游戏"); break; case 1: playgame(); //玩游戏模块,后面进行实现 store(); //存储战绩模块 break; case 2: query();//查询战绩模块,后面进行实现 break; } } while (input); return 0;}
感谢各位的阅读,以上就是"C语言怎么猜数字小游戏"的内容了,经过本文的学习后,相信大家对C语言怎么猜数字小游戏这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
战绩
数字
模块
代表
玩家
猜测
输入
模式
提示
目标
菜单
查询
电脑
普通
剩余
小游戏
语言
内容
结构
逻辑
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
区块链p2p网络技术
股票高频交易软件开发
vue连接数据库数据视频
网络安全等级保护等保费用
网络技术安全软肋
汉阳学软件开发
dtu服务器转发
以色列加强国际网络安全
软件开发公司保密协议
tp5 jdbc数据库
网络安全第三十八条是什么
软件开发应用技术专业前景
DB2属于什么类型的数据库
服务器连接主机怎么用
代谢组文献数据库
软件开发项目需要的财务成本
德州金和网络技术
品牌软件开发创造辉煌
数据库逻辑蕴含的判断
数据库修改技术
西集网络安全产业园建设进度
软件开发费增值率税率
工业互联网时代网络安全新挑战
数据库管理技术选修pdf
软件开发 用例图
小学生学习中的网络安全
软件开发项目需要的财务成本
长治市中小学校园网络安全
中国移动软件开发商
国家网络安全教育调研