玩记分游戏时,有时希望看到历史最高分


思路

  • 游戏开始,打开最高分存储文件(区分存在和不存在两种情况)
  • 读取文件内容并存储在变量中(一串数字),关闭文件
  • 游戏中及时更新
  • 游戏结束,打开最高分文件并写入新的最高分,关闭文件

一些准备工作

  • IDE: VC++6.0
  • 了解可能用到的特殊函数: fopen(),fclose(),fscanf(),fprintf()
  • 注意:
  • 文件打开异常的处理(以只读方式r打开不存在的文件会出错)
  • 用什么函数来读取写入数据(处理数字)

开始写代码

  • 预处理指令:
# include <stdio.h>
  • 主函数:
int main(void){int highscore = 0;  //存储最高分int score = 0;      //当前次,游戏得分//获取历史最高分getHighScore(&highscore);printf("Original high score: %d\n", highscore);//假装:游戏中,追踪最高分printf("->Start game!\n");score = 99;if (score > highscore)highscore = score;printf("->SJL, you win!\n");//存入当前最高分printf("New high score: %d\n", highscore);storeHighScore(highscore);return 0;
}
  • 获取最高分函数:getHighScore():
//如果把此函数写在main函数后面,记得在main函数前面某行处,加上函数声明!
void getHighScore(int * highscore)
{FILE * fp = NULL;   //文件指针,指向成功打开的文件//打开文件,以只读的方式rfp = fopen("highscore.txt","r");//如果文件不存在,打开文件,以写入的方式wif (fp == NULL){fp = fopen("highscore.txt","w");fprintf(fp, "%-10d", *highscore);}elsefscanf(fp, "%10d", highscore);//关闭文件fclose(fp);
}
  • 存入当前最高分函数:storeHighScore():
//如果把此函数写在main函数后面,记得在main函数前面某行处,加上函数声明!
void storeHighScore(int highscore)
{FILE * fp = NULL;fp = fopen("highscore.txt","w");fprintf(fp, "%-10d", highscore);fclose(fp);
}
  • 编译链接运行:

扩展

  • 考虑一下:

    • 如果是记录前10个玩家的最高分(10行数字),又怎么处理?
    • 如果是处理字符,而不是数字,该怎么做?
    • 以不同的方式打开文件,可以用什么函数,把数据读取或写入文件?
    • emmmm,暂时只想到这么多……
  • 总结:

    • 目标。 用C语言实现用文件记录最高分的功能
    • 准备工作。 主要是了解文件相关的函数有哪些,怎么用
    • 写查改。 开始撸代码,完成预想的功能

最后

水平不高,可能还有做得不够好的地方,
希望能和大家交流学习,
转载请注明出处。

用文件记录游戏最高分【C语言】相关推荐

  1. 俄罗斯方块游戏系统-c语言版

    Dec C++中常用的快捷键: 给代码行加注释:<Ctrl+/ > 删除代码行:<Ctrl+D > 只能删除光标所在的代码行 1.俄罗斯方块游戏开发设计细节: 随机产生下滑方块 ...

  2. c语言小游戏代码(c语言小游戏代码简单)

    c语言编写小游戏请提供俄罗斯方块,坦克大战之类的小游戏的程序的c 应该是做出方块函数 然后以 这个方块 为单位 绘制 俄罗斯方块的 积木图形 ,在制作游戏界面的时候 也以方块长度为单位长度绘制 二维数 ...

  3. c语言小游戏vc,C语言探索之旅:第一个C语言小游戏

    C语言探索之旅:第一个C语言小游戏-1.jpg (37.05 KB, 下载次数: 0) 2018-10-8 19:23 上传 内容简介 1.课程纲领 2.第一部分第八课:第一个C语言小游戏 3.第一部 ...

  4. c语言课程设计猜数字游戏报告,C语言课程设计猜数字游戏报告

    C语言课程设计猜数字游戏报告 C 语言课程设计----猜数字1摘 要该 软 件 在 Windows 系 统 上 为 玩 家 提 供 猜 数 字 游 戏的 基 本 功 能 , 游 戏 用 户 可 以 选 ...

  5. 基于EasyX的贪吃蛇游戏(C语言)

    贪吃蛇游戏EasyX图形库C语言 #前言 关于贪吃蛇游戏这种学生时代,用来应付一个期末设计的东西.网上各式各样用不同方式实现的核心代码已经烂大街了. 用esayX这种图形库,可以简单进行蛇体,游戏界面 ...

  6. 一步一步实现扫雷游戏(C语言实现)(三)

    使用WIN32API连接窗口 此项目相关博文链接 一步一步实现扫雷游戏(C语言实现)(一) 一步一步实现扫雷游戏(C语言实现)(二) 一步一步实现扫雷游戏(C语言实现)(三) 一步一步实现扫雷游戏(C ...

  7. 12天学好C语言——记录我的C语言学习之路(Day 12)

    12天学好C语言--记录我的C语言学习之路 Day 12: 进入最后一天的学习,用这样一个程序来综合考量指针和字符串的关系,写完这个程序,你对字符串和指针的理解应该就不错了. //输入一个字符串,内有 ...

  8. 【C语言进阶深度学习记录】五 C语言中变量的属性

    上一篇文章学习了C语言中的类型转换,点击链接查看:[C语言进阶深度学习记录]四 C语言中的类型转换. 文章目录 1 C语言的变量属性 1.1 auto关键字 1.2 register关键字 1.3 s ...

  9. 猜数游戏c语言编程while,【游戏编程】猜数字游戏(C语言)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //此游戏规则为:系统随机生成一个整数,然后要你去猜它.系统会提示你是大了还是小了.游戏结束后会生成排行榜,有记录时间 #include #include ...

最新文章

  1. 微服务海量日志怎么处理,推荐你试试这款工具....
  2. 第十四周项目2-带姓名的成绩单
  3. 第二章:深入C#数据类型
  4. sizeof与offsetof有关的结构体详解
  5. php的具体配置学习笔记
  6. 带你了解VXLAN网络中报文的转发机制
  7. 动态生成圈形+文字的图片
  8. [转载] 使用Keras和TensorFlow 2.0建立深度学习模型对图像进行分类
  9. 台大李宏毅Machine Learning 2017Fall学习笔记 (9)Keras
  10. HTML使川锚标签,第1章HTML的基本标签祥解.ppt
  11. 【sklearn第五讲】特征提取(上)
  12. 中柏平板电脑安linux,中柏平板电脑重装系统
  13. mmap()映射硬盘的文件
  14. python opencv 创建滑动条调整值
  15. Atitit 开发效率补充哦哦那个、、 目录 1. 架构方法上选择快速开发的架构 1 2. 编程方法上选择快速的编程范式和编程方法 1 3. 开发方法论上需要快速的方法 2 1.架构方法上选择快速
  16. c串口一直读到缓存数据_STM32CubeMX之串口不定长数据接收(接收中断+空闲中断)...
  17. 人工智能(ai)和专家系统(expert system)的区别
  18. 亲测美团打车聚合服务:要做出行服务的天猫?
  19. 青龙面板滴滴果园自动签到
  20. c++ Beep函数的雪之梦

热门文章

  1. weex高性能list解析
  2. 从FrozenUI中学习移动端屏幕适配问题
  3. iOS因“自动订阅”被拒N次,最终解决!!!
  4. 讲解电脑重装系统后硬盘消失要如何解决
  5. redis数据库的主从、哨兵和cluster模式的实现原理与搭建详解(win10系统)
  6. @Model.register(“name“) python装饰器
  7. 基于JAVA门诊药品管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  8. 如何用3个月零基础入门网络安全?
  9. java 下载图片并打压缩包
  10. 复工复产,利用Python爬虫爬取火车票信息