游戏点和盒子的数据结构

And*_*sta 7 data-structures

什么是一个很好的数据结构来表示游戏点和盒子的状态?

我想出了使用2个布尔矩阵,用于水平和垂直线,但也许有一种更优雅的方式(以及操作:添加线,检查线,检查方块).

Che*_*hiz 3

linesX使用一对称为和的二维布尔数组linesY对我来说很有意义。每个阵列的行/列数将比棋盘上给定 X/Y 方向上的方块总数多一个。这是使用该解决方案的检查方块的代码示例:

bool isSquareComplete(int x, int y) {
    return linesX[x][y] && linesX[x + 1][y] && linesY[x][y] && linesY[x][y + 1];
}
Run Code Online (Sandbox Code Playgroud)