我正在尝试实现join5游戏(此处提供一种实现:https://rosettacode.org/wiki/Morpion_solitaire)
如果玩家达到极限,我必须朝特定方向扩展游戏板。
因为我正在使用静态数组(没有malloc等),所以我无法重新分配它们。因此,我必须将它们重新复制到更大的文件中。 我正在考虑做一个枚举,让我选择方向。然后根据方向重新复制元素,即在第一行或最后一行之后添加零行或零列。我设法做的是在所有方向上扩展矩阵,这意味着2x2矩阵变成4x4等。 但我希望能够将方向作为参数传递并添加行,列等...
这是在各个方向扩展矩阵的代码。 Tplateau是具有高度,长度和2d数组的结构。
我的问题是:如何使数组向指定方向扩展?
先谢谢您的帮助!
Tplateau * expandMatrixBy(Tplateau *jeu, int number) {
Tplateau *jeu2;
int i,j;
jeu2->hauteur = jeu->hauteur+number;
jeu2->longueur = jeu->longueur+number;
for (int row = number; row < jeu2->hauteur; row++) {
for (int col = number; col < jeu2->longueur; col++) {
jeu2->plat[row][col] = jeu2->plat[row - number][col - number];
}
}
return jeu2;
}```