Use enum class

This commit is contained in:
Reimar 2025-10-27 12:35:48 +01:00
parent 4f34d06f73
commit d7eb5c7f4d
2 changed files with 9 additions and 9 deletions

View File

@ -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;
} }
} }
} }

View File

@ -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,