📄 ballmap.h
字号:
#ifndef _BALLMAP_H_
#define _BALLMAP_H_
#ifdef _BALL_C_
#define BALLMAP_EXTERN
#else
#define BALLMAP_EXTERN extern
#endif
#ifdef OSD_GAME_BREAKOUT
#define BLOCK_MAP_MAX_WIDTH 18
#define BLOCK_MAP_MAX_HEIGHT 8
// bmp id
#define BAR_BMP 0
#define BAR_EMPTY_BMP 1
#define BALL_BMP 2
#define BALL_EMPTY_BMP 3
#define BLUE_BLOCK 4
#define BROWN_BLOCK 5
#define RED_BLOCK 6
#define GREEN_BLOCK 7
#define YELLOW_BLOCK 8
#define ROSE_BLOCK 9
#define EMPTY_BLOCK 10
// block map type
#define GM_BALL_EMPTY 0
#define GM_BALL_DEST 1
typedef struct
{
BYTE width;
BYTE height;
}sBallbmpSize;
BALLMAP_EXTERN code sBallbmpSize rBmpSize[]
#ifdef _BALL_C_
=
{
{48, 8},
{12, 12},
{16, 8}
}
#endif
;
typedef struct
{
BYTE bBmpId;
BYTE bType;
}sBlock;
typedef struct
{
BYTE HeightNum;
sBlock BlockMapData[BLOCK_MAP_MAX_HEIGHT][BLOCK_MAP_MAX_WIDTH];
}sBlockMap;
BALLMAP_EXTERN code sBlockMap rBlockMap[]
#ifdef _BALL_C_
=
{
// map 0
{
8,
{
// 0
{
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
},
// 1
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
},
// 2
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
},
// 3
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
},
// 4
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
},
// 5
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
},
// 6
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
},
// 7
{
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
}
}
},
// map 1
{
8,
{
// 0
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{RED_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{ROSE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{GREEN_BLOCK, GM_BALL_DEST},
{GREEN_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BLUE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BLUE_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
},
// 1
{
{RED_BLOCK, GM_BALL_DEST},
{RED_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{ROSE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{ROSE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{GREEN_BLOCK, GM_BALL_DEST},
{BLUE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BLUE_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
},
// 2
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{RED_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{ROSE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{GREEN_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BLUE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BLUE_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BROWN_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
},
// 3
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{RED_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{ROSE_BLOCK, GM_BALL_DEST},
{GREEN_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BLUE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BLUE_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{YELLOW_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
},
// 4
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{RED_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{ROSE_BLOCK, GM_BALL_DEST},
{ROSE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{GREEN_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BLUE_BLOCK, GM_BALL_DEST},
{BLUE_BLOCK, GM_BALL_DEST},
{BLUE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{YELLOW_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
},
// 5
{
{EMPTY_BLOCK, GM_BALL_EMPTY},
{RED_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{ROSE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{GREEN_BLOCK, GM_BALL_DEST},
{BLUE_BLOCK, GM_BALL_DEST},
{BLUE_BLOCK, GM_BALL_DEST},
{BLUE_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{YELLOW_BLOCK, GM_BALL_DEST},
{BROWN_BLOCK, GM_BALL_DEST},
{EMPTY_BLOCK, GM_BALL_EMPTY},
{BROWN_BLOCK, GM_BALL_DEST},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -