大小未知的瓦片数组
Tilemap array of unknown size
我希望用户选择那里的地图大小,所以我不知道在运行时地图的大小。我一直在寻找如何实现这一点,但收效甚微。最接近于工作的是vector变体,但当它运行时,它仍然不能正常工作。
我想要一个三维数组,所以在我的头文件中,我像这样声明了tilemap
std::vector<std::vector<std::vector<Tile>>> tileMap;
并在类中测试它,像这样:
World::World(int width, int height, int depth)
{
tileMap.resize(width);
tileMap[0].resize(height);
tileMap[0][0].resize(depth);
tileMap.resize(width);
for (int i = 0;i<width;i++)
{
tileMap[i].resize(height);
}
for (int y = 0; y < height;y++)
{
for (int x = 0; x < width; x++)
{
tileMap[x,y].resize(depth);
}
}
std::cout << sizeof tileMap / sizeof tileMap[0][0][0] << std::endl;
}
我知道不是数组的所有维度都正确地调整了大小,但最后一行只是输出"0"。
是否有更好的方法来创建未知大小的瓷砖图?我需要很多尺寸,比如64*64、256*256、64*1024等(z级将在生成关卡后确定)。因此,为每种大小创建一个数组似乎效率低下。但也许有一个更好的方式来声明我的数组或我做错了什么地方。
您想让tileMap.size() * tileMap[0].size() * tileMap[0][0].size()
获得瓷砖的数量
相关文章:
- C++未知长度字符串的数组,其行为类似于 Python 字符串列表
- C++中数组大小未知的指针转换
- 如何定义在编译时数据未知的 const 数组
- 在C++中初始化第一维大小未知的二维数组
- 在带有模板的函数中传递未知大小的 std::数组.如何更正此代码?
- 你能让数组中的项数未知吗
- 当数组大小在C++中未知时,如何在运行时将对字符串数组的引用作为函数参数传递?
- 如何将输入到具有未知数量元素的数组中?
- 获取由空格分隔的未知大小的单行输入,并将其存储到整数数组中
- 使用 ReadProcessMemory() 将未知大小的字符数组或字符串读入 wstring 中
- 未知容器、向量或数组 c++ 的大小
- 未知大小的数组作为类成员,用于在运行时(对象创建时间)创建数组的对象
- 构造函数初始化器列表中未知长度的数组
- 在 c++ 中使用未知元素初始化的字符数组
- 特征:将数组映射到矩阵大小未知的矩阵
- 如何声明一个未知大小的数组,然后输入直到我想要,然后获取数组的大小
- 如何在 C++ 中将值附加到未知大小的数组中
- 如何确定未知类型数组的索引是否为空
- 使用数组和布尔值在输出未知时从输出中删除逗号
- 如何正确写入多维字符数组未知数量的值,但固定的字符堆