#ifndef PLANE_H
#define PLANE_H
typedef struct {
    unsigned int up : 1;
    unsigned int down : 1;
    unsigned int power : 1;
} input_t;

typedef struct {
    int frame;
    int x;
    int y; /* >= 0 and < 200 */
    int speed;
    int angle; /* 0..359 << 8 */
    int upsidedown; /* 0..1 */
    int plane; /* 0..3 */
    int bombs; /* 0..6 */
    int ammo; /* >= 0 */
    int gas; /* >= 0 */
    int on_airfield; /* 0 or 1 -- previous state */
    int was_on_airfield; /* 0 or 1 -- current state */
    input_t in;
    int score;
} state_t;

void update_state(state_t *s, input_t *in);
void input_print(input_t *in);
void state_print(state_t *s);

extern const int cosinit[361];
extern const int sinit[361];

#define AIRFIELD_Y 200
#define AIRFIELD_X1 140
#define AIRFIELD_X2 (140+150)


#endif
