#pragma once #include "misc_utils.h" typedef enum { tile_empty = 0, tile_apple = 1, tile_wall = 2, tile_wall_lr = 3, tile_wall_l = 4, tile_wall_r = 5, tile_wall_lrt = 6, tile_wall_lt = 7, tile_wall_rt = 8, tile_wall_lrb = 9, tile_wall_lb = 10, tile_wall_rb = 11, tile_wall_lrtb = 12, tile_wall_ltb = 13, tile_wall_rtb = 14, tile_wall_t = 15, tile_wall_b = 16, tile_wall_tb = 17, tile_snake_l = 18, tile_snake_r = 19, tile_snake_t = 20, tile_snake_b = 21, tile_snake_bl = 22, tile_snake_br = 23, tile_snake_lb = 24, tile_snake_rb = 25, tile_snake_tl = 26, tile_snake_tr = 27, tile_snake_lt = 28, tile_snake_rt = 29, tile_pupa_m2_l = 30, tile_pupa_m2_r = 31, tile_pupa_m1_l = 32, tile_pupa_m1_r = 33, tile_pupa_0_l = 34, tile_pupa_0_r = 35, tile_pupa_p1_l = 36, tile_pupa_p1_r = 37, tile_pupa_p2_l = 38, tile_pupa_p2_r = 39, tile_pupa_m2_t = 40, tile_pupa_m1_t = 41, tile_pupa_0_t = 42, tile_pupa_p1_t = 43, tile_pupa_p2_t = 44, tile_pupa_m2_b = 45, tile_pupa_m1_b = 46, tile_pupa_0_b = 47, tile_pupa_p1_b = 48, tile_pupa_p2_b = 49, } tile_t; #define WORLD_WIDTH 16 #define WORLD_HEIGHT 10 typedef struct { const char* name; tile_t map[WORLD_WIDTH][WORLD_HEIGHT]; } MapConfig; #define PLAYABLE_MAPS_COUNT 8 typedef struct { MapConfig maps[PLAYABLE_MAPS_COUNT]; } MapList;