¥¢¥Ê¥¿¤Î¿´¤òª¤¨¤â¤·¤Ê¤¤¤·¡¢ÄϤߤ⤷¤Ê¤¤¤¬´º¤¨¤ÆÈ¿´¶¤òÇ㤦¡¢£Á¢ª£Ú»¨µ¡£
#include "DxLib.h"
#include <windows.h>
//----------------------------------------
//ÊÑ¿ô¤ÎÀë¸À
//----------------------------------------
int MAP_W; //¥²¡¼¥à²èÌ̤β£Éý
int MAP_H; //¥²¡¼¥à²èÌ̤νÄÉý
int **MAP_L1; //¥ï¡¼¥ë¥É¥Þ¥Ã¥×¤Î¥ì¥¤¥ä¡¼£±¥Ç¡¼¥¿(ưŪ2¼¡¸µÇÛÎó)
int **MAP_L2; //¥ï¡¼¥ë¥É¥Þ¥Ã¥×¤Î¥ì¥¤¥ä¡¼£²¥Ç¡¼¥¿(ưŪ2¼¡¸µÇÛÎó)
//----------------------------------------
//¥Þ¥Ã¥×¥Ç¡¼¥¿¤ÎÆÉ¤ß¹þ¤ß½èÍý
//°ú¿ô¤Ïʸ»úÎó¤òÅϤ·¤Þ¤¹ Îã"data/xxxxxx.map"¤È¤«¡£
//----------------------------------------
void MapDataLoad(char *loadMapName){ //¢«¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ËÀë¸À¤·¤Þ¤·¤ç¤¦¡£
int hdl_file;
int i;
int intBig, intLittle;
int intValue;
int idx_Y, idx_X;
// ¥Õ¥¡¥¤¥ë¤ò³«¤¯
hdl_file = FileRead_open(loadMapName);
//¥Þ¥Ã¥×¤Î½Ä²£¥µ¥¤¥º¤ò¼èÆÀ(¥Ø¥ë¥×¤Î¥Ç¡¼¥¿¥Õ¥©¡¼¥Þ¥Ã¥È¤È¸«Èæ¤Ù¤Æ¤¯¤À¤µ¤¤)
//(¥Õ¥¡¥¤¥ë¤Î1,2¥Ð¥¤¥ÈÌÜ=X, 3,4¥Ð¥¤¥ÈÌÜ=Y)
intLittle = FileRead_getc(hdl_file); //0byteÌÜ
intBig = FileRead_getc(hdl_file); //1byteÌÜ
MAP_W = intLittle|(intBig<<8); //0,1byte¤Ç¥Þ¥Ã¥×¤Î²£¥µ¥¤¥º¤ò¼èÆÀ
intLittle = FileRead_getc(hdl_file); //2byteÌÜ
intBig = FileRead_getc(hdl_file); //3byteÌÜ
MAP_H = intLittle|(intBig<<8); //2,3byte¤Ç¥Þ¥Ã¥×¤Î½Ä¥µ¥¤¥º¤ò¼èÆÀ
//¢¨¤³¤Î¸å¤Ë¥ì¥¤¥ä¿ô¡¢»È¤Ã¤Æ¤¤¤ë¥Á¥Ã¥×¾å¸ÂÅù¤ÏÃϿ޺îÀ®»þ¤Ë¼«Ê¬¤Ç
// ʬ¤«¤Ã¤Æ¤¤¤ë¤Î¤Ç¼èÆÀ¤ò¾Ê¤¤Þ¤¹¡£
//¥Þ¥Ã¥×¥Ç¡¼¥¿³ÊǼÇÛÎó¤òưŪ¤ËºîÀ®(£²¥ì¥¤¥ä¡¼Ê¬)
//¤³¤³¤Ç¤ÏÎΰè¤ò³ÎÊݤ·¤¿¤À¤±¤Ç¤¹¡£
MAP_L1 = (int **)malloc(sizeof(int *) * MAP_H);
MAP_L2 = (int **)malloc(sizeof(int *) * MAP_H);
for(i = 0; i < MAP_H; i++){
MAP_L1[i] = (int *)malloc(sizeof(int) * MAP_W);
MAP_L2[i] = (int *)malloc(sizeof(int) * MAP_W);
}
//16byteÌܤޤǥե¡¥¤¥ë¥Ý¥¤¥ó¥¿¤ò°Üư¤¹¤ë(¥Ø¥Ã¥ÀÆÉ¤ßÈô¤Ð¤·)
//16byteÌܤ«¤é¥Þ¥Ã¥×¥Ç¡¼¥¿¤Ê¤Î¤Ç¡¦¡¦¡£
FileRead_seek( hdl_file, 16, SEEK_SET );
//¥ì¥¤¥ä¡¼£±¤Î¥Ç¡¼¥¿ÆÉ¤ß¹þ¤ß(ÇØ·Ê¤È¤«¡©)
for(idx_Y=0; idx_Y < MAP_H; idx_Y++){
for(idx_X=0; idx_X < MAP_W; idx_X++){
intLittle = FileRead_getc(hdl_file);
intBig = FileRead_getc(hdl_file);
intValue = intLittle|(intBig<<8);
MAP_L1[idx_Y][idx_X] = intValue;
}
}
//³¤±¤ÆÆÉ¤ß³¤±¤ë¤³¤È¤Ë¤è¤ê¼¡¤Î¥ì¥¤¥ä¡¼¥Ç¡¼¥¿¤È¤Ê¤ë
//¥ì¥¤¥ä¡¼£²¤Î¥Ç¡¼¥¿ÆÉ¤ß¹þ¤ß(¾ã³²Êª¤È¤«¡©)
for(idx_Y=0; idx_Y < MAP_H; idx_Y++){
for(idx_X=0; idx_X < MAP_W; idx_X++){
intLittle = FileRead_getc(hdl_file);
intBig = FileRead_getc(hdl_file);
intValue = intLittle|(intBig<<8);
MAP_L2[idx_Y][idx_X] = intValue;
}
}
// ¥Õ¥¡¥¤¥ë¤òÊĤ¸¤ë
FileRead_close(hdl_file);
}
| Æü | ·î | ²Ð | ¿å | ÌÚ | ¶â | ÅÚ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | - | - | - | - | - |
Author:µ¥¿åÅÄ Ë®É×(Kisuida Kunio)
¥Ö¥í¥°³«À߯ü 2007/11/11(Æü)
ǾÆâÀ°ÍýÃæ¼Ò²ñ¿Í
Æñ¤·¤¤»ö¤ò´Êñ¤Ë¸À¤ª¤¦¤È¤¹¤ë¤¬¡¢
´Êñ¤Ê»ö¤òÆñ¤·¤¯¸À¤Ã¤¿¤ê¤â¤¹¤ë¡£
ÆÉ¼ÔÂоÝÀ®¿Í°Ê¾å¡£
¡ÚA¢ªZ¤È¤Ï¡Û
ʸ¾Ï¤Ë¾ÜºÙ¤ÊÀâÌÀ¤ò´Þ¤Þ¤º¤Ë·ë²Ì¤ò½Ð¤·¤Æ¤¤¤ë¤³¤È¡£·ë²Ì¤¬Àè¤Ç¡¢¤½¤ÎÆâÍÆ¤Ë¤Ä¤¤¤Æ½ù¡¹¤ËÀâÌÀ¤µ¤ì¤ë¤³¤È¡£
¤ª¤Ë¤¯¤À¤¤¤¹¤¤¤¹¤¤¤À¤¯¤Ë¤ª