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;
		}
	}
相关推荐
Ulyanov14 小时前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 终极试炼——全链路综合仿真与蒙特卡洛打靶
开发语言·python·系统仿真·雷达电子对抗
@大迁世界14 小时前
45.什么是内联条件表达式(inline conditional expressions)?在事件处理里怎么用?
开发语言·前端·javascript·react.js·ecmascript
游乐码14 小时前
UnityGUI(五)GUI控件综合使用
开发语言·unity·c#
程序leo源14 小时前
C语言知识总结
c语言·开发语言·c++·经验分享·笔记·青少年编程·c#
沫璃染墨14 小时前
二叉搜索树完全指南:从核心原理到增删查改全实现
开发语言·c++
shehuiyuelaiyuehao14 小时前
关于进程和线程的关系
java·开发语言
AaronCos15 小时前
弄懂java泛型中的extends和super
java·开发语言
毋语天15 小时前
Python 模块、包与异常处理:构建更稳健的程序
开发语言·python
IT观察者15 小时前
Qt单例的优雅实现
开发语言·qt
爱编码的小八嘎15 小时前
C语言完美演绎9-30
c语言