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;
		}
	}
相关推荐
Dovis(誓平步青云)4 分钟前
总用电下降了,为什么家庭能源看板仍然提示异常
java·开发语言·数据库·人工智能·算法·电脑·能源
程序猿乐锅4 分钟前
【从0-1学习Python | 第四篇】Python 字符串和元组
java·开发语言·笔记·后端·python·学习
开开心心就好8 分钟前
Windows视频播放器推荐,精简版体积更小
java·服务器·开发语言·eclipse·pdf·ocr·音视频
开开心心就好8 分钟前
A3的PDF怎么切成A4?拖一下分割线就行
服务器·开发语言·python·算法·pdf·ocr·tornado
小黄人软件10 分钟前
python 模块(Module)与包(Package)的区别,python xxx.py、python -m xxx 和 import xxx 三者的区别
开发语言·python
PHP实战开发录10 分钟前
PHP中文文件名为什么乱码
开发语言·php
SuperByteMaster28 分钟前
while(1){;} 加分号
c语言
阿里嘎多学长33 分钟前
2026-10-13 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Logic10138 分钟前
C语言/数据结构位运算题解:异或XOR找出糖葫芦派对中的“独一无二山楂果数量“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
巧克力味的桃子41 分钟前
复杂网络能控性鲁棒性研究进展
开发语言·网络·php