我正在尝试为游戏编写一个简单的地图系统。它使用2D矢量来存储区域对象(地图块),现在我想要接近3x3区域。区域存储在:
std::vector<std::vector<Area>>
我目前的接近检查使用:
bool area_exist;
if (x - 1 < 0 || y + 1 > max_y)
area_exist = true;
else
area_exist = false;
if (area_exist)
Area & p_area_right_top = areas[x - 1][y + 1];
if (x - 1 < 0)
area_exist = true;
else
area_exist = false;
if (area_exist)
Area& p_area_top = areas[x - 1][y];...
在该选项中,我必须先检查该区域是否存在。
是否有其他方式可以接收3x3接近物体?