38 lines
571 B
C++
38 lines
571 B
C++
#ifndef __LEVEL_H__
|
|
# define __LEVEL_H__
|
|
|
|
#include "settings.h"
|
|
#include <vector>
|
|
#include <memory>
|
|
|
|
typedef enum {
|
|
PLATFORM_EMPTY,
|
|
PLATFORM_WHITE,
|
|
PLATFORM_RED,
|
|
PLATFORM_BLUE,
|
|
PLATFORM_BLOCK
|
|
} platform_type_t;
|
|
|
|
struct platform {
|
|
int face;
|
|
num z;
|
|
num length;
|
|
int height;
|
|
platform_type_t type;
|
|
};
|
|
|
|
struct Generator;
|
|
|
|
struct level {
|
|
std::vector<struct platform> platform_buffer;
|
|
std::unique_ptr<Generator> gen;
|
|
uint16_t bgcolor;
|
|
};
|
|
|
|
|
|
|
|
extern void level_update(struct level *level, num z);
|
|
extern struct level level_create(int level);
|
|
|
|
#endif /* __LEVEL_H__ */
|