Map.m
上传用户:qhdwjd2004
上传日期:2020-12-29
资源大小:362k
文件大小:3k
源码类别:

iPhone

开发平台:

Objective-C

  1. #import "Map.h"
  2. @implementation Map
  3. // 加载关卡地图
  4. +(void)LoadChapter:(byte)index Data:(byte[])mapdata
  5. {
  6.     FILE *fp;
  7.     const char *filepath = Sys_Map_Path;
  8.     fp=fopen(filepath, "r");
  9.     if(fp!=NULL){
  10.         fseek(fp, Map_LEN * index, SEEK_SET);
  11.         fread(mapdata, Map_LEN, 1, fp);
  12.         fclose(fp);
  13.     }
  14.     else
  15.     {
  16.         NSLog(@"fopen err");
  17.     }
  18. }
  19. +(int)ChapterCount
  20. {
  21.     int len = 0;
  22.     FILE *fp = fopen(Sys_Map_Path, "r");
  23.     if(fp != NULL)
  24.     {
  25.         fseek(fp, 0, SEEK_END);
  26.         len = ftell(fp);
  27.         fclose(fp);
  28.     }
  29.     return  len/Map_LEN;
  30. }
  31. // 检查是否存在残局
  32. +(bool)CheckMessExist
  33. {
  34.     FILE *fp;
  35.     fp = fopen(MESS_PATH,"r");
  36.     if(fp!=NULL)
  37.     {
  38.         fclose(fp);
  39.         return YES;
  40.     }
  41.     else
  42.     {
  43.         return NO;
  44.     }
  45. }
  46. // 保存残局
  47. +(void)SaveMess:(Mess)messdata
  48. {
  49.     FILE *fp;
  50.     const char *filepath = MESS_PATH;
  51.     fp=fopen(filepath, "w");
  52.     if(fp!=NULL){
  53.         fwrite(&messdata, sizeof(Mess), 1, fp);
  54.         fclose(fp);
  55.     }
  56.     else
  57.     {
  58.         NSLog(@"fopen err");
  59.     }
  60. }
  61. // 加载残局数据
  62. +(Mess)LoadMess
  63. {
  64.     Mess messdata;
  65.     FILE *fp;
  66.     const char *filepath = MESS_PATH;
  67.     fp=fopen(filepath, "r");
  68.     if(fp!=NULL){
  69.         fread(&messdata, sizeof(Mess), 1, fp);
  70.         fclose(fp);
  71.     }
  72.     else
  73.     {
  74.         NSLog(@"fopen err");
  75.     }
  76.     return messdata;
  77. }
  78. +(Mess)MessCopy:(Mess)source
  79. {
  80.     Mess messcopy;
  81.     messcopy.isCustom = source.isCustom;
  82.     messcopy.chapterIndex = source.chapterIndex;
  83.     messcopy.enableChapterCount = source.enableChapterCount;
  84.     int i=0;
  85.     for(;i<Map_LEN;i++)
  86.     {
  87.         messcopy.mapdata[i] = source.mapdata[i];
  88.     }
  89.     return messcopy;
  90. }
  91. // 加载自定义地图
  92. +(void)LoadMap:(NSString*)path Data:(byte[])mapdata
  93. {
  94.     FILE *fp;
  95.     const char *filepath = [path UTF8String];
  96.     fp=fopen(filepath, "r");
  97.     if(fp!=NULL){
  98.         fseek(fp, 0, SEEK_SET);
  99.         fread(mapdata, Map_LEN, 1, fp);
  100.         fclose(fp);
  101.     }
  102.     else
  103.     {
  104.         NSLog(@"fopen err");
  105.     }
  106. }
  107. // 删除自定义地图
  108. +(void)DeleteMap:(NSString*)path
  109. {
  110.     remove([path UTF8String]);
  111. }
  112. // 检查文件是否存在
  113. +(bool)FileExist:(NSString*)path
  114. {
  115.     FILE *fp;
  116.     fp = fopen([path UTF8String],"r");
  117.     if(fp!=NULL)
  118.     {
  119.         fclose(fp);
  120.         return YES;
  121.     }
  122.     else
  123.     {
  124.         return NO;
  125.     }
  126. }
  127. +(bool)DirExist:(NSString*)path
  128. {
  129.     DIR *dir;
  130.     dir = opendir([path UTF8String]);
  131.     if(dir!=NULL)
  132.     {
  133.         closedir(dir);
  134.         return YES;
  135.     }
  136.     else
  137.     {
  138.         return NO;
  139.     }
  140. }
  141. +(bool)CreateDir:(NSString*)path
  142. {
  143.     if(mkdir([path UTF8String], 0644)==0)
  144.     {
  145.         return YES;
  146.     }
  147.     else
  148.     {
  149.         return NO;
  150.     }
  151. }
  152. // 获取随机数
  153. +(int)GetRandNum
  154. {
  155.     srand(time(0));
  156. return rand();
  157. }
  158. @end