Use enum class
This commit is contained in:
parent
4f34d06f73
commit
d7eb5c7f4d
16
src/Map.cpp
16
src/Map.cpp
@ -4,7 +4,7 @@
|
|||||||
Map::Map(GameRenderer *renderer, int tile_size) :
|
Map::Map(GameRenderer *renderer, int tile_size) :
|
||||||
renderer(renderer),
|
renderer(renderer),
|
||||||
tile_size(tile_size),
|
tile_size(tile_size),
|
||||||
tiles(renderer->screen_width / tile_size, std::vector(renderer->screen_height / tile_size, grass)),
|
tiles(renderer->screen_width / tile_size, std::vector(renderer->screen_height / tile_size, Tile::grass)),
|
||||||
tile_offset_x(-renderer->screen_width / tile_size / 2),
|
tile_offset_x(-renderer->screen_width / tile_size / 2),
|
||||||
tile_offset_y(-renderer->screen_height / tile_size / 2)
|
tile_offset_y(-renderer->screen_height / tile_size / 2)
|
||||||
{
|
{
|
||||||
@ -16,7 +16,7 @@ Map::Map(GameRenderer *renderer, int tile_size) :
|
|||||||
for (int x = 0; x < tiles.size(); x++) {
|
for (int x = 0; x < tiles.size(); x++) {
|
||||||
if (rand() % 2 == 0) y += rand() % 3 - 1;
|
if (rand() % 2 == 0) y += rand() % 3 - 1;
|
||||||
|
|
||||||
tiles[x][y] = path;
|
tiles[x][y] = Tile::path;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create vertical starting path
|
// Create vertical starting path
|
||||||
@ -24,22 +24,22 @@ Map::Map(GameRenderer *renderer, int tile_size) :
|
|||||||
for (int y = 0; y < tiles[x].size(); y++) {
|
for (int y = 0; y < tiles[x].size(); y++) {
|
||||||
if (rand() % 2 == 0) x += rand() % 3 - 1;
|
if (rand() % 2 == 0) x += rand() % 3 - 1;
|
||||||
|
|
||||||
tiles[x][y] = path;
|
tiles[x][y] = Tile::path;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Tile> Map::generate_tiles(std::vector<Tile> prev_tiles) const
|
std::vector<Tile> Map::generate_tiles(std::vector<Tile> prev_tiles) const
|
||||||
{
|
{
|
||||||
std::vector<Tile> new_tiles = std::vector(prev_tiles.size(), grass);
|
std::vector<Tile> new_tiles = std::vector(prev_tiles.size(), Tile::grass);
|
||||||
|
|
||||||
int path_idx = 0;
|
int path_idx = 0;
|
||||||
for (int i = 0; i < prev_tiles.size(); i++) {
|
for (int i = 0; i < prev_tiles.size(); i++) {
|
||||||
if (prev_tiles[i] == path) path_idx = i;
|
if (prev_tiles[i] == Tile::path) path_idx = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rand() % 2 == 0) path_idx += rand() % 3 - 1;
|
if (rand() % 2 == 0) path_idx += rand() % 3 - 1;
|
||||||
|
|
||||||
new_tiles[path_idx] = path;
|
new_tiles[path_idx] = Tile::path;
|
||||||
|
|
||||||
return new_tiles;
|
return new_tiles;
|
||||||
}
|
}
|
||||||
@ -103,8 +103,8 @@ void Map::draw(int player_x, int player_y) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (tiles[tile_x][tile_y]) {
|
switch (tiles[tile_x][tile_y]) {
|
||||||
case grass: renderer->draw_sprite(grass_sprite, screen_x, screen_y); break;
|
case Tile::grass: renderer->draw_sprite(grass_sprite, screen_x, screen_y); break;
|
||||||
case path: renderer->draw_sprite(path_sprite, screen_x, screen_y); break;
|
case Tile::path: renderer->draw_sprite(path_sprite, screen_x, screen_y); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#ifndef TILE_HPP
|
#ifndef TILE_HPP
|
||||||
#define TILE_HPP
|
#define TILE_HPP
|
||||||
|
|
||||||
enum Tile
|
enum class Tile
|
||||||
{
|
{
|
||||||
grass,
|
grass,
|
||||||
path,
|
path,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user