CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

关于游戏存盘文件的问题

楼主photohome(photohome)2004-05-02 20:36:29 在 .NET技术 / C# 提问

程序运行时要调用一个文件,好比游戏的存盘文件,我怎样才能让文件中指定位置比如开头两个字节保存日期,第三四五六个字节保存金钱数量,哪怕金钱只有1元钱,读取的时候在指定的位置读取特定的数据. 问题点数:20、回复次数:10Top

1 楼surstar(我要写个操作系统出来……)回复于 2004-05-02 21:53:59 得分 0

二进制流按顺序输入可以吗  
   
      我进来学习的Top

2 楼photohome(photohome)回复于 2004-05-02 22:05:19 得分 0

但是数字1也能占用四个字节吗?Top

3 楼surstar(我要写个操作系统出来……)回复于 2004-05-04 11:00:41 得分 0

进来学习的Top

4 楼surstar(我要写个操作系统出来……)回复于 2004-05-04 11:00:48 得分 0

帮你顶Top

5 楼alucardpj()回复于 2004-05-06 08:51:21 得分 0

这要看你怎样定义文件格式了,就算是1,如果想让他占四个字节,可以写成00   00   00   01,关键是这种占位需要自己在存储和读取时自行把握。Top

6 楼zengch24(zFin)回复于 2004-05-06 09:05:22 得分 0

将钱定义为Single或float,那怎样写文件都会是4个字节。用流很好实现Top

7 楼photohome(photohome)回复于 2004-05-09 20:49:39 得分 0

楼上可以写点具体代码吗?拜托了!我已经研究了好多天了,但还是不行。。。菜呀!!Top

8 楼zengch24(zFin)回复于 2004-05-09 22:11:13 得分 20

private   void   Save(string   filename)  
  {  
  string   title   =   "My   save";  
  float   money   =   1;  
   
  //   Create   the   new,   empty   data   file.  
  if   (File.Exists(filename))    
  {  
  Console.WriteLine("{0}   already   exists!",   FILE_NAME);  
  return;  
  }  
  FileStream   fs   =   new   FileStream(FILE_NAME,   FileMode.CreateNew);  
   
  //   Create   the   writer   for   data.  
  BinaryWriter   w   =   new   BinaryWriter(fs);  
   
  //   Write   data   to   data.  
  w.Write(title);  
  w.Write(money);  
   
  w.Close();  
  fs.Close();  
  }  
   
  private   void   Read(string   filename)  
  {  
  //   Create   the   new,   empty   data   file.  
  if   (File.Exists(filename))    
  {  
  Console.WriteLine("{0}   already   exists!",   FILE_NAME);  
  return;  
  }  
  FileStream   fs   =   new   FileStream(FILE_NAME,   FileMode.CreateNew);  
   
  //   Create   the   reader   for   data.  
  fs   =   new   FileStream(FILE_NAME,   FileMode.Open,   FileAccess.Read);  
  BinaryReader   r   =   new   BinaryReader(fs);  
  //   Read   data   from   Test.data.  
  for   (int   i   =   0;   i   <   11;   i++)    
  {  
  Console.WriteLine(r.ReadInt32());  
  }  
  w.Close();  
  }Top

9 楼zengch24(zFin)回复于 2004-05-09 22:12:03 得分 0

FILE_NAME与filename是一个,没改过来,注意一下Top

10 楼zhzuo(秋枫)回复于 2004-05-09 23:13:06 得分 0

把存盘文件改成Xml也行,  
  如果是做成文本文件也行,就是不够位的花用其他字符填充。  
  字节可以堪称数字。Top

相关问题

  • [存盘文件编辑器]通常用于RPG游戏的修改,关注一下啊~~~~~~~~~~~~
  • 需要《天之痕》的存盘文件。
  • 怎么将下载的文件放入内存而不存盘?
  • 为何我的BC5文件一存盘就出现:“$ is not a valid indentifier,filename....”
  • 很菜的,怎样将Edit中的字符串存盘到文件中
  • 无组件的文件混合上传/下载的—怎样在下载存盘时得到”原文件名”?
  • ORACLE的SQL PLUS下,什么命令/格式 将SELECT出的数据存盘到本地TXT格式文件
  • MFC向导中没有填存盘文件的扩展名等信息...过后应当怎么加上?
  • 在线等,请问我的Word文件没存盘,结果打印的时候死机了,能恢复吗?
  • 怎样屏蔽Excel文件修改后存盘时的修改确认提示框(用Delphi进行Excel文件操作)

关键词

  • 文件
  • filestream
  • 读取
  • fs
  • filemode
  • exists
  • filename
  • read
  • create
  • write

得分解答快速导航

  • 帖主:photohome
  • zengch24

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo