this.hexCube = new Array();翻译成C语言
时间: 2023-12-09 11:03:30 浏览: 88
这段代码可以翻译成C语言如下:
```c
int hexCube[4][9]; // 声明一个4 * 9的二维数组
for(int i = 0; i < 4; i++) {
for(int j = -i; j <= i; j++) {
int k = i + j;
hexCube[i][j + i] = k;
}
}
```
在C语言中,可以通过二维数组来模拟这个 `hexCube` 数组。这里声明了一个4行9列的二维数组,然后使用两个嵌套的循环来遍历数组中的元素,并计算出它们的值,最后将值存储在数组中对应的位置。需要注意的是,在C语言中,数组的下标从0开始,因此在这里需要对下标进行一些调整。
相关问题
this.hexCube = new Array();
这是一段 JavaScript 代码,它创建了一个名为 hexCube 的数组。`new Array()` 创建了一个空的数组对象,而 `this.hexCube =` 将这个新创建的数组对象赋值给了当前对象的 `hexCube` 属性。在这个属性中,开发者可以存储六边形坐标系中的一组三元组,每个三元组代表一个六边形。这样,我们可以轻松地在代码中使用这些坐标,例如在循环中迭代所有的六边形。
for (i in this.hexCube) { hexCubeOrtho[i] = { "x": (this.hexCube[i][1] + this.hexCube[i][0] / 2) * hexR + scrollX, "y": Math.sqrt(3) / 2 * this.hexCube[i][0] * hexR + scrollY, } }翻译成c语言
这段 JavaScript 代码可以翻译成以下的 C 语言代码:
```c
for(int i = 0; i < sizeof(this.hexCube) / sizeof(this.hexCube[0]); i++) {
hexCubeOrtho[i].x = (this.hexCube[i][1] + this.hexCube[i][0] / 2) * hexR + scrollX;
hexCubeOrtho[i].y = sqrt(3) / 2 * this.hexCube[i][0] * hexR + scrollY;
}
```
其中 `sizeof(this.hexCube) / sizeof(this.hexCube[0])` 表示 `this.hexCube` 数组的长度(即元素个数),`sqrt()` 函数用于计算平方根。另外,由于 C 语言中数组下标从 0 开始,因此在循环中使用的变量 i 应该从 0 开始,循环终止条件为 `i < sizeof(this.hexCube) / sizeof(this.hexCube[0])`。
阅读全文