BosonX/src/level.h

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 */