typedef struct kaos Kaos; typedef struct hyperKaos { int kaosID; int eventType; SDL_Rect domain; Kaos* head; } HyperKaos; HyperKaos* newHyperKaos(int id, int type, int x, int y, int w, int h); void deleteHyperKaos(HyperKaos* target); void run(HyperKaos* self); void addKaos(HyperKaos* self, Kaos* target); int isCompleted(int x); int notCompleted(int x);