向特定方向扩展数组

时间:2019-04-11 12:49:24

标签: c multidimensional-array

我正在尝试实现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;
}```

0 个答案:

没有答案