44 lines
711 B
C++
44 lines
711 B
C++
#ifndef LEVEL
|
|
# define LEVEL
|
|
|
|
#include <vector>
|
|
#include <memory>
|
|
|
|
#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<struct section> section_buffer;
|
|
std::unique_ptr<struct generator> 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 */
|