我不知道如何初始化三维数组

问题描述 投票:0回答:1

所以我正在做一个视频游戏,我需要一些坐标 [2](x,y),但是有 3 个区域 [3][2],并且有 3 个房间 [3][3][2]。所以我选择了三维数组。我知道有更好的方法来赋予它们每个不同的值

我做了什么:

zonasDeInteraccion[1][1][1] = 10; //x
zonasDeInteraccion[1][1][2] = 5; //y
zonasDeInteraccion[1][2][1] = 20; //x
zonasDeInteraccion[1][2][2] = 5;  //y
zonasDeInteraccion[1][3][1] = 30; //x
zonasDeInteraccion[1][3][2] = 5;  //y
zonasDeInteraccion[2][1][1] = 30; //x
zonasDeInteraccion[2][1][2] = 7;   //y
zonasDeInteraccion[2][2][1] = 4; //x
zonasDeInteraccion[2][2][2] = 23;  //yd
zonasDeInteraccion[2][3][1] = 45; //x
zonasDeInteraccion[2][3][2] = 5;  //y
zonasDeInteraccion[3][1][1] = 35; //x
zonasDeInteraccion[3][1][2] = 0;  //y 
zonasDeInteraccion[3][2][1] = 1; //x
zonasDeInteraccion[3][2][2] = 11;  //y
zonasDeInteraccion[3][3][1] = 4; //x
zonasDeInteraccion[3][3][2] = 44;  //y

我想已经完成了:

zonasDeInteraccion[3][3][2] = {{{{10,5}},{{20,5},{}},{{},{},{}},{{},{},{}}} 

但是我真的很困惑

c game-development
1个回答
0
投票

正如评论所指出的,C 中的数组索引从 0 开始,而不是 1。此外,使用点结构可能比使用数组更容易。类似的东西

typedef struct {
    int x;
    int y;
} point;

那么你可以做

point zones[3][3] = {0};
point[0][0].x = 10;
point[0][0].y = 5;
...
© www.soinside.com 2019 - 2024. All rights reserved.