#include #include #include #ifndef HEADER_2048 #define HEADER_2048 #define max(a,b) \ ({ __typeof__ (a) _a = (a); \ __typeof__ (b) _b = (b); \ _a > _b ? _a : _b; }) typedef enum Direction { NoDirection, Up, Down, Right, Left } Direction; typedef struct Game { uint32_t score; size_t field_size_x, field_size_y; uint16_t **field; bool game_over; bool won; } Game; Game game_init(size_t field_size_x, size_t field_size_y); void game_move(Game *game, Direction direction); void game_destroy(Game *game); #endif