本文整理汇总了C++中Floor::toArray方法的典型用法代码示例。如果您正苦于以下问题:C++ Floor::toArray方法的具体用法?C++ Floor::toArray怎么用?C++ Floor::toArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Floor
的用法示例。
在下文中一共展示了Floor::toArray方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
std::vector<std::vector<bool>> Graph<Room>::generateCorridors(Floor &floor) const
{
auto arr = floor.toArray();
int minX = floor.MinX(),
maxX = floor.MaxX(),
minY = floor.MinY(),
maxY = floor.MaxY();
for (const auto & node : nodes)
{
const Room & room = *node.content,
& next = *node.neighbors[0]->content;
const int room_x = room.middle().x,
room_y = room.middle().y,
next_x = next.middle().x,
next_y = next.middle().y,
dx = next_x - minX,
dy = maxY - next_y;
int x = room_x - minX,
y = maxY - room_y;
//Horizontal part of corridor
if (room_x < next_x)
for (; x < dx; ++x)
arr[y][x] = true;
else
for (; x > dx; --x)
arr[y][x] = true;
//Vertical part of corridor
if (room_y < next_y)
for (; y > dy; --y)
arr[y][x] = true;
else
for (; y < dy; ++y)
arr[y][x] = true;
}
return arr;
}