创建一个填字游戏。通过输入选择网格大小,将生成网格。我希望网格是具有行和列的对象,但也希望是一个2d数组,这将使我可以将网格划分为较小的部分,以便在空白和编号正方形之间进行随机化。我不确定在哪里实施。 它必须是2d数组,因为我将进行布局的分割和反转。
这是我的Grid类,其中包含一些方法。 (还有rest)
class Grid
{
int rows; //x
int columns; //y
Square field;
public:
void SetXY(int x, int y)
{
rows = x;
columns = y;
return;
}
public:
void DisplaySize()
{
cout << "Rows = ", rows, "Columns = ", columns;
}
};
答案 0 :(得分:1)
实现2D数组的最简单方法是使用std::array<std::array<>>
或std::vector<std::vector<>>
-取决于它是静态数组还是动态数组。
但是,您也可以只使用一维std::array
或std::vector
,然后通过像row*size_of_row+column
那样建立索引来获得第二维。