snek_vs_snacc/game.h

59 lines
770 B
C

#ifndef _GAME_H_
#define _GAME_H_
typedef struct {
int x;
int y;
} POINT;
typedef struct {
char direction;
POINT position;
POINT old_position;
int value;
char color;
int move_tick;
} BALL;
typedef struct {
int head_dir_x;
int head_dir_y;
int next_head_dir_x;
int next_head_dir_y;
POINT* old_tail;
POINT** body;
int head_ptr;
int length;
} PLAYER;
typedef struct {
int points;
int status;
} GAME_STATE;
typedef struct {
int width;
int height;
BALL** balls;
int ball_count;
int max_allocated_balls;
WINDOW* win;
PLAYER* player;
GAME_STATE* state;
} FIELD;
extern GAME_STATE* state;
void set_lost(GAME_STATE* state);
void set_won(GAME_STATE* state);
void eat_ball(FIELD* field, int pos);
void play_game(GAME_STATE* state);
#endif