c - 向特定方向扩展数组
问题描述
我正在尝试实现 join5 游戏(此处提供了一个实现:https ://rosettacode.org/wiki/Morpion_solitaire )
如果玩家到达界限,我必须将棋盘向特定方向扩展。
因为我正在使用静态数组(没有 malloc 等),所以我无法重新分配它们。因此我必须将它们重新复制成更大的。我正在考虑制作一个枚举来让我选择方向。然后根据 IE 的方向重新复制元素,在第一行之前或最后一行之后添加一行或一列零。我设法做的是在所有方向上扩展矩阵,这意味着 2x2 矩阵变成 4x4 等......但我希望能够将方向作为参数传递并添加行、列等......
这是向各个方向扩展矩阵的代码。Tplateau 是一种具有高度、长度和二维数组的结构。
我的问题是:我怎样才能使数组在指定的方向扩展?
预先感谢您的帮助!
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;
}```
解决方案
推荐阅读
- c - 如何修复随机数的无限打印?
- java - 无法从三个十后端口导入类
- sql - 使用 SQL (VBA) 在 Excel 中读取时间单元格时出错
- c++ - OpenGL 3.x / 4x 中的纹素/像素匹配
- java - 使用数组赋值语句的 Jasmin 汇编器
- asp.net-core - 为 Simple.Odata.Client 指定元数据缓存到期?
- matlab - 多维数组的部分fft
- ruby - 在 Windows10 内的 Ubuntu 上从工作 Ruby 脚本创建计划任务
- c# - 无法绑定列表视图下拉
- powershell - powershell 获取项目 | 复制项不只为一个文件夹保留文件夹结构