The next little game in the series where I make a fancy rogue game.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
roguish/tilemap.hpp

33 lines
683 B

#pragma once
#include <vector>
#include <utility>
#include <string>
#include <algorithm>
#include <fmt/core.h>
#include "point.hpp"
#include "matrix.hpp"
#include "config.hpp"
typedef std::vector<std::string> TileRow;
typedef std::vector<TileRow> TileDisplay;
class TileMap {
public:
Config &$config;
size_t $width;
size_t $height;
matrix::Matrix $tile_ids;
TileDisplay $display;
TileMap(Config &config, size_t width, size_t height);
// disable copying
TileMap(TileMap &map) = delete;
size_t width() { return $width; }
size_t height() { return $height; }
void load(matrix::Matrix &walls);
void dump(int show_x=-1, int show_y=-1);
bool INVARIANT();
};