|
|
|
@ -39,18 +39,18 @@ Level::Level(const std::string &map_file)
|
|
|
|
|
while (getline(file, cur_line))
|
|
|
|
|
{
|
|
|
|
|
// need fix; see std::string.compare
|
|
|
|
|
if (strstr(cur_line.data(), "size") != NULL)
|
|
|
|
|
if (cur_line.compare(0, 4, "size") == 0)
|
|
|
|
|
{
|
|
|
|
|
file >> level_width >> level_height;
|
|
|
|
|
map.resize(level_height);
|
|
|
|
|
file >> level_rows >> level_cols;
|
|
|
|
|
map.resize(level_rows);
|
|
|
|
|
for (Row &row : map)
|
|
|
|
|
row.resize(level_width);
|
|
|
|
|
row.resize(level_cols);
|
|
|
|
|
}
|
|
|
|
|
else if (strstr(cur_line.data(), "map") != NULL)
|
|
|
|
|
else if (cur_line.compare(0, 3, "map") == 0)
|
|
|
|
|
{
|
|
|
|
|
readMap(file);
|
|
|
|
|
}
|
|
|
|
|
else if (strstr(cur_line.data(), "teleport") != NULL)
|
|
|
|
|
else if (cur_line.compare(0, 8, "teleport") == 0)
|
|
|
|
|
{
|
|
|
|
|
coordinate src_row, src_col;
|
|
|
|
|
coordinate dest_row, dest_col;
|
|
|
|
@ -71,14 +71,14 @@ Level::~Level()
|
|
|
|
|
delete cell;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
size_t Level::width() const
|
|
|
|
|
size_t Level::rows() const
|
|
|
|
|
{
|
|
|
|
|
return level_width;
|
|
|
|
|
return level_rows;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
size_t Level::height() const
|
|
|
|
|
size_t Level::cols() const
|
|
|
|
|
{
|
|
|
|
|
return level_height;
|
|
|
|
|
return level_cols;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Level::placeBridge(coordinate row, coordinate col)
|
|
|
|
|