2.构建初始方块数组
(1)宏定义初始化方块在主界面中的数量
#define ROW 16//小方块在主界面的行
#define COL 16//小方块在主界面的列
(2)定义一个结构体类型表示方块
cpp
//定义一个结构体类型表示方块
struct block
{
int type;//方块类型,0:表示空白
int x, y;
int row, col;//行,列
int match;//匹配次数
int tmd;//透明度:0-255 255表示不透明,0表示完全透明
};
(3)定义了一个二维数组 map,用来存储游戏地图中的"块"
cpp
struct block map[ROW + 2][COL + 2];
(4)地图在屏幕上的绘制偏移量
cpp
const int off_x = 17;
const int off_y = 274;
const int block_size = 20;
(5)初始化游戏地图,为每个方块设置属性和屏幕位置
cpp
for (int i = 1; i <= ROW; i++) {
for (int j = 1; j <= COL; j++)
{
map[i][j].type = 1+ rand() % 15;
map[i][j].row = i;
map[i][j].col = j;
map[i][j].x = off_x + (j + 1) * (block_size + 2);//调整方块位置
map[i][j].y = off_y + (i - 1) * (block_size+2 );
map[i][j].match = 0;
map[i][j].tmd = 255;
}
}