I not understand what's mean unsigned char field[1];
#define FLGX (224)
struct game {
unsigned char field_width;
unsigned char field_height;
unsigned char field[1];
};
#define GETPOS(g,x,y) (g->field[(g->field_width + 2) * ((y)+1) + ((x)+1)] & (0xff ^ FLGX))