C语言制作消消乐游戏(2)

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;
		}
	}
相关推荐
晓蛋2 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊2 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿2 天前
重载、重写(覆盖)、重定义区别
c语言
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
phltxy2 天前
C 语言指针:从内存地址到灵活的数据访问
c语言
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
phltxy2 天前
C 语言中的数据存储:从类型到二进制位
c语言
霍霍的袁2 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超2 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust