#include #include #include #include #define PROJECT_NAME "vectors-vec math" #define obj_n 1 typedef struct OBJECT_INER { Point pos; Point vel; } OBJECT_INER; typedef struct OBJECT { OBJECT_INER *objs[obj_n]; } OBJECT; #include void constructor(int w, int h, OBJECT_INER *obj){ obj->pos.x = (float)w/2; obj->pos.y = (float)h/2; obj->vel.x = 1; obj->vel.y = -1; } void init_stuffs(int w, int h, OBJECT_INER *objs, STUFFS *stuff){ constructor(w,h,&objs[0]); } void update(OBJECT_INER *obj){ point_add(&obj->pos, &obj->vel); } void show(SDL_Renderer* renderer,OBJECT_INER *obj){ SDL_SetRenderDrawColor(renderer,150,50,255,255); SDL_RenderFillRect(renderer,&(SDL_Rect){.x = obj->pos.x - 5, .y=obj->pos.y - 5, .w = 10, .h = 10}); } void draw(SDL_Renderer* renderer,SDL_Window* window, STUFFS *stuff){ SDL_SetRenderDrawColor(renderer,0,0,0,255); SDL_RenderClear(renderer); update(stuff->obj.objs[0]); show(renderer,stuff->obj.objs[0]); SDL_RenderPresent(renderer); } #include