#ifndef LEVEL # define LEVEL #include #include #ifndef PLATFORM_COUNT # define PLATFORM_COUNT 10 #endif typedef enum { PLATFORM_EMPTY, PLATFORM_WHITE, PLATFORM_RED, PLATFORM_BLUE, PLATFORM_BLOCK } platform_type_t; struct platform { platform_type_t type; //TODO blink ? meta... }; struct section { struct platform platforms[PLATFORM_COUNT]; //... }; struct generator; typedef struct level { std::vector section_buffer; std::unique_ptr gen; } level_t; extern void level_update(level_t *level); extern level_t level_create(int level); extern void level_display(level_t *level); extern void level_advance(level_t *level); #endif /* LEVEL */