📄 boxmanmap.h
字号:
#ifndef _BOXMANMAP_H_
#define _BOXMANMAP_H_
#ifdef _BOXMAN_C_
#define BMAP_EXTERN
#else
#define BMAP_EXTERN extern
#endif
#ifdef OSD_GAME_SOKOBAN
#define NLWALL 0
#define WALL 1
#define SPACE 2
#define DEST 3
#define BOX 4
#define APBOX 5
#define MAN 6
#define APMAN 7
#define BADPOS 8
typedef struct
{
BYTE x;
BYTE y;
}sBMANPos;
typedef struct
{
BYTE bBoxNo;
sBMANPos rBoxPos[6]; // the most box is 6
sBMANPos rManPos;
BYTE bBmpWidth;
BYTE bBmpHeight;
BYTE bMapData[10][10];
}sMap;
BMAP_EXTERN code sMap rMap1
#ifdef _BOXMAN_C_
=
{
4,
{ {3,1},{5,3},{3,4},{4,5} },
{4,4},
8,
8,
{
{NLWALL, NLWALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL},
{NLWALL, NLWALL, WALL, DEST, WALL, NLWALL, NLWALL, NLWALL},
{NLWALL, NLWALL, WALL, SPACE, WALL, WALL, WALL, WALL},
{WALL, WALL, WALL, SPACE, SPACE, SPACE, DEST, WALL},
{WALL, DEST, SPACE, SPACE, SPACE ,WALL, WALL, WALL },
{WALL, WALL, WALL, WALL, SPACE ,WALL, NLWALL, NLWALL},
{NLWALL, NLWALL, NLWALL, WALL, DEST, WALL, NLWALL, NLWALL},
{NLWALL, NLWALL, NLWALL, WALL, WALL, WALL, NLWALL, NLWALL}
}
}
#endif
;
BMAP_EXTERN code sMap rMap2
#ifdef _BOXMAN_C_
=
{
3,
{ {2,2},{3,2},{2,3} },
{3,1},
9,
9,
{
// 0 1 2 3 4 5 6 7 8 9
{WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL, NLWALL, NLWALL},//0
{WALL, BADPOS, BADPOS, BADPOS, WALL, NLWALL, NLWALL, NLWALL, NLWALL, NLWALL},//1
{WALL, BADPOS, SPACE, SPACE, WALL, NLWALL, WALL, WALL, WALL, NLWALL},//2
{WALL, BADPOS, SPACE, SPACE, WALL, NLWALL, WALL, DEST, WALL, NLWALL},//3
{WALL, WALL, WALL, SPACE, WALL, WALL, WALL, DEST, WALL, NLWALL},//4
{NLWALL, WALL, WALL, SPACE, SPACE, SPACE, SPACE, DEST, WALL, NLWALL},//5
{NLWALL, WALL, BADPOS, SPACE, SPACE, WALL, BADPOS, BADPOS, WALL, NLWALL},//6
{NLWALL, WALL, BADPOS, BADPOS, BADPOS, WALL, WALL, WALL, WALL, NLWALL},//7
{NLWALL, WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL, NLWALL}//8
}
}
#endif
;
BMAP_EXTERN code sMap rMap3
#ifdef _BOXMAN_C_
=
{
5,
{ {3,3},{5,3},{7,3},{4,4},{4,5} },
{8,1},
10,
8,
{
// 0 1 2 3 4 5 6 7 8 9
{NLWALL, NLWALL, NLWALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL },//0
{NLWALL, NLWALL, WALL, WALL, BADPOS, BADPOS, WALL, BADPOS, BADPOS, WALL},//1
{NLWALL, NLWALL, WALL, BADPOS, SPACE, SPACE, WALL, SPACE, BADPOS, WALL},//2
{NLWALL, NLWALL, WALL, SPACE, SPACE, SPACE, SPACE, SPACE, BADPOS, WALL},//3
{NLWALL, NLWALL, WALL, SPACE, SPACE, WALL, WALL, SPACE, BADPOS, WALL},//4
{WALL, WALL, WALL, SPACE, SPACE, BADPOS, WALL, SPACE, WALL, WALL},//5
{WALL, DEST, DEST, DEST, DEST, DEST, SPACE, BADPOS, WALL, NLWALL},//6
{WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL, NLWALL}//7
}
}
#endif
;
BMAP_EXTERN code sMap rMap4
#ifdef _BOXMAN_C_
=
{
4,
{ {3,2},{4,3},{4,4},{5,4} },
{5,1},
8,
7,
{
// 0 1 2 3 4 5 6 7 8 9
{NLWALL, NLWALL, WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL},//0
{WALL, WALL, WALL, BADPOS, BADPOS, BADPOS, WALL, NLWALL, NLWALL, NLWALL},//1
{WALL, BADPOS, SPACE, SPACE, DEST, SPACE, WALL, WALL, NLWALL, NLWALL},//2
{WALL, BADPOS, SPACE, DEST, SPACE, DEST, BADPOS, WALL, NLWALL, NLWALL},//3
{WALL, WALL, WALL, SPACE, DEST, SPACE, BADPOS, WALL, NLWALL, NLWALL},//4
{NLWALL, NLWALL, WALL, BADPOS, BADPOS, BADPOS, WALL, WALL, NLWALL, NLWALL},//5
{NLWALL, NLWALL, WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL}//6
}
}
#endif
;
BMAP_EXTERN code sMap rMap5
#ifdef _BOXMAN_C_
=
{
4,
{ {4,3},{3,4},{4,5},{5,5} },
{3,6},
8,
8,
{
// 0 1 2 3 4 5 6 7 8 9
{NLWALL, NLWALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL, NLWALL},//0
{NLWALL, NLWALL, WALL, DEST, DEST, WALL, NLWALL, NLWALL, NLWALL, NLWALL},//1
{NLWALL, WALL, WALL, SPACE, DEST, WALL, WALL, NLWALL, NLWALL, NLWALL},//2
{NLWALL, WALL, BADPOS, SPACE, SPACE, DEST, WALL, NLWALL, NLWALL, NLWALL},//3
{WALL, WALL, SPACE, SPACE, SPACE, SPACE, WALL, WALL, NLWALL, NLWALL},//4
{WALL, BADPOS, SPACE, WALL, SPACE, SPACE, BADPOS, WALL, NLWALL, NLWALL},//5
{WALL, BADPOS, BADPOS, BADPOS, BADPOS, BADPOS, BADPOS, WALL, NLWALL, NLWALL},//6
{WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL},//7
}
}
#endif
;
BMAP_EXTERN code sMap rMap6
#ifdef _BOXMAN_C_
=
{
6,
{ {2,2},{5,2},{2,3},{2,4},{5,4},{4,3} },
{1,3},
8,
7,
{
// 0 1 2 3 4 5 6 7 8 9
{WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL},//0
{WALL, BADPOS, BADPOS, WALL, BADPOS, BADPOS, BADPOS, WALL, NLWALL, NLWALL},//1
{WALL, BADPOS, SPACE, DEST, DEST, SPACE, BADPOS, WALL, NLWALL, NLWALL},//2
{WALL, BADPOS, SPACE, DEST, DEST, SPACE, WALL, WALL, NLWALL, NLWALL},//3
{WALL, BADPOS, SPACE, DEST, DEST, SPACE, BADPOS, WALL, NLWALL, NLWALL},//4
{WALL, BADPOS, BADPOS, WALL, BADPOS, BADPOS, BADPOS, WALL, NLWALL, NLWALL},//5
{WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL} //6
}
}
#endif
;
BMAP_EXTERN code sMap rMap7
#ifdef _BOXMAN_C_
=
{
5,
{ {3,2},{3,3},{3,4},{3,5},{3,6} },
{5,3},
7,
9,
{
// 0 1 2 3 4 5 6 7 8 9
{NLWALL, NLWALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL, NLWALL},//0
{NLWALL, NLWALL, WALL, BADPOS, BADPOS, WALL, NLWALL, NLWALL, NLWALL, NLWALL},//1
{WALL, WALL, WALL, SPACE, SPACE, WALL, WALL, NLWALL, NLWALL, NLWALL},//2
{WALL, BADPOS, SPACE, DEST, SPACE, BADPOS, WALL, NLWALL, NLWALL, NLWALL},//3
{WALL, BADPOS, SPACE, DEST, SPACE, BADPOS, WALL, NLWALL, NLWALL, NLWALL},//4
{WALL, BADPOS, SPACE, DEST, SPACE, WALL, WALL, NLWALL, NLWALL, NLWALL},//5
{WALL, WALL, WALL, DEST, SPACE, WALL, NLWALL, NLWALL, NLWALL, NLWALL},//6
{NLWALL, NLWALL, WALL, DEST, WALL, WALL, NLWALL, NLWALL, NLWALL, NLWALL},//7
{NLWALL, NLWALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL, NLWALL, NLWALL}//8
}
}
#endif
;
BMAP_EXTERN code sMap rMap8
#ifdef _BOXMAN_C_
=
{
3,
{ {3,4},{5,3},{4,5} },
{4,4},
8,
8,
{
// 0 1 2 3 4 5 6 7 8 9
{NLWALL, NLWALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL, NLWALL},//0
{NLWALL, WALL, WALL, BADPOS, BADPOS, WALL, WALL, NLWALL, NLWALL, NLWALL},//1
{WALL, WALL, BADPOS, SPACE, SPACE, BADPOS, WALL, NLWALL, NLWALL, NLWALL},//2
{WALL, BADPOS, DEST, SPACE, DEST, SPACE, WALL, WALL, NLWALL, NLWALL},//3
{WALL, BADPOS, SPACE, SPACE, SPACE, SPACE, BADPOS, WALL, NLWALL, NLWALL},//4
{WALL, WALL, WALL, WALL, DEST, WALL, SPACE, WALL, NLWALL, NLWALL},//5
{NLWALL, NLWALL, NLWALL, WALL, BADPOS, BADPOS, BADPOS, WALL, NLWALL, NLWALL},//6
{NLWALL, NLWALL, NLWALL, WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL},//7
}
}
#endif
;
BMAP_EXTERN code sMap rMap9
#ifdef _BOXMAN_C_
=
{
4,
{ {2,4},{5,5},{3,6},{6,6} },
{4,2},
9,
9,
{
// 0 1 2 3 4 5 6 7 8 9
{NLWALL, NLWALL, WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL, NLWALL},//0
{WALL, WALL, WALL, BADPOS, BADPOS, BADPOS, WALL, NLWALL, NLWALL, NLWALL},//1
{WALL, BADPOS, SPACE, SPACE, SPACE, SPACE, WALL, NLWALL, NLWALL, NLWALL},//2
{WALL, BADPOS, SPACE, SPACE, WALL, SPACE, WALL, NLWALL, NLWALL, NLWALL},//3
{WALL, WALL, SPACE, WALL, SPACE, DEST, BADPOS, WALL, WALL, NLWALL},//4
{NLWALL, WALL, SPACE, SPACE, DEST, DEST, DEST, BADPOS, WALL, NLWALL},//5
{NLWALL, WALL, BADPOS, BADPOS, SPACE, WALL, SPACE, BADPOS, WALL, NLWALL},//6
{NLWALL, WALL, WALL, WALL, BADPOS, BADPOS, BADPOS, WALL, WALL, NLWALL},//7
{NLWALL, NLWALL, NLWALL, WALL, WALL, WALL, WALL, WALL, NLWALL, NLWALL},//8
}
}
#endif
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -