52 lines
712 B
C
52 lines
712 B
C
|
#ifndef __BOSONX__
|
||
|
# define __BOSONX__
|
||
|
|
||
|
#include <vector>
|
||
|
|
||
|
#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];
|
||
|
//...
|
||
|
};
|
||
|
|
||
|
typedef struct level {
|
||
|
std::vector<struct section> section_buffer;
|
||
|
// ...
|
||
|
} level_t ;
|
||
|
|
||
|
|
||
|
|
||
|
struct generator
|
||
|
{
|
||
|
virtual void generate(level_t *) = 0;
|
||
|
virtual ~generator() = default;
|
||
|
};
|
||
|
|
||
|
struct gen1 : public generator
|
||
|
{
|
||
|
gen1();
|
||
|
void generate(level_t *) override;
|
||
|
~gen1() override = default;
|
||
|
|
||
|
int last_pos;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif /* __BOSONX__ */
|