C# 简单网格填充算法



我正在尝试找到一种有效的方法来填充 gird(2 个数组(,数字代表网格中单元格所占的区域。例如:

这些数字与根区域相关。问题是我如何用与根区域相关的这些值随机填充矩阵

// Grid could look something like this 
// 22333
// 22333
// 11333
// or
// 33311
// 33322
// 33322
// What i have currently
int numRows = 4;
int numColums = 5;
int cellSize = Random.Range(0,4);
for (int iRow = 0; iRow < numRows; iRow++) {
    for (int iCol = 0; iCol <numColums ; iCol++) {
        // Fill value
        test.gridData.rows[iRow].colum[iCol] = cellSize;
    }
}
int numRows = 4;
int numColums = 5;
int cellSize = Random.Range(0,4);
for (int iRow = 0; iRow < numRows; iRow++) {
    for (int iCol = 0; iCol <numColums ; iCol++) {
        // HERE
        test.gridData[iRow][iCol].MyVal= val;
    }
}

假设您的实际代码反映了问题中的代码,则位置 [row][column] 处的 Test 矩阵的 MyVal 属性现在等于 cellSize 的值。

您可以按如下方式访问 2D 数组的各个元素:

假设您的网格是:

0 1 2 3 4
1 1 2 3 4
2 1 2 3 4
3 1 2 3 4

您可以使用类似 test.GridData[2][4] 的内容访问单个单元格,这将为您提供(假设上面的网格(:

row[2] => 2 处的值

    ⬇
0 1 2 3 4
1 1 2 3 4
2 1 2 3 4
3 1 2 3 4

column[4] => 4:

0 1 2 3 4
1 1 2 3 4
2 1 2 3 4
3 1 2 3 4 ⬅

最新更新