所以我正在做一个视频游戏,我需要一些坐标 [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 中的数组索引从 0 开始,而不是 1。此外,使用点结构可能比使用数组更容易。类似的东西
typedef struct {
int x;
int y;
} point;
那么你可以做
point zones[3][3] = {0};
point[0][0].x = 10;
point[0][0].y = 5;
...