diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/1-1-walker.c | 55 | ||||
| -rwxr-xr-x | src/1-2-vec-math.c | 56 | ||||
| -rwxr-xr-x | src/1-3-rand-vec.c | 65 |
3 files changed, 176 insertions, 0 deletions
diff --git a/src/1-1-walker.c b/src/1-1-walker.c new file mode 100755 index 0000000..5a905f0 --- /dev/null +++ b/src/1-1-walker.c @@ -0,0 +1,55 @@ +#include <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include <time.h> + +#include <SDL2/SDL.h> +#include <SDL2/SDL_video.h> + +#define PROJECT_NAME "vecotrs-main" + +typedef struct { + float x; + float y; +} OBJECT; + +#include <init.h> + +void constructor(int w, int h, OBJECT *obj){ + obj->x = (float)w/2; + obj->y = (float)h/2; +} + +OBJECT init_stuffs(int w, int h){ + OBJECT obj; + constructor(w,h,&obj); + + return obj; +} + +void update(OBJECT *obj){ + obj->x = obj->x + (rand() % 2 - 0.5); + obj->y = obj->y + (rand() % 2 - 0.5); +} + +void show(SDL_Renderer* renderer,OBJECT *obj){ + SDL_SetRenderDrawColor(renderer,150,50,255,255); + SDL_RenderDrawPoint(renderer,obj->x,obj->y); +} + +void draw(SDL_Renderer* renderer,SDL_Window* window, STUFFS *stuff){ + //SDL_SetRenderDrawColor(renderer,0,0,0,255); + //SDL_RenderClear(renderer); + + update(stuff->obj); + show(renderer,stuff->obj); + + SDL_RenderPresent(renderer); + //SDL_UpdateWindowSurface(window); +} + +void mousePressed(STUFFS *stuff){ + +} + +#include <init.c> diff --git a/src/1-2-vec-math.c b/src/1-2-vec-math.c new file mode 100755 index 0000000..d6f38b1 --- /dev/null +++ b/src/1-2-vec-math.c @@ -0,0 +1,56 @@ +#include <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include <time.h> +#include "global_objects.c" + +#include <SDL2/SDL.h> +#include <SDL2/SDL_video.h> + +#define PROJECT_NAME "vecotrs-main" + +typedef struct { + Point pos; + Point vel; +} OBJECT; + +#include <init.h> + +void constructor(int w, int h, OBJECT *obj){ + obj->pos.x = (float)w/2; + obj->pos.y = (float)h/2; + obj->vel.x = 1; + obj->vel.y = -1; +} + +OBJECT init_stuffs(int w, int h){ + OBJECT obj; + constructor(w,h,&obj); + + return obj; +} + +void update(OBJECT *obj){ + point_add(&obj->pos, &obj->vel); +} + +void show(SDL_Renderer* renderer,OBJECT *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); + show(renderer,stuff->obj); + + SDL_RenderPresent(renderer); +} + +void mousePressed(STUFFS *stuff){ + +} + +#include <init.c> diff --git a/src/1-3-rand-vec.c b/src/1-3-rand-vec.c new file mode 100755 index 0000000..9c5f44f --- /dev/null +++ b/src/1-3-rand-vec.c @@ -0,0 +1,65 @@ +#include <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include <time.h> +#include "global_objects.c" + +#include <SDL2/SDL.h> +#include <SDL2/SDL_video.h> + +#define PROJECT_NAME "vecotrs-main" + +typedef struct { + Point pos; +} OBJECT; + +#include <init.h> + +float RandomFloat(float min, float max){ + return ((max - min) * ((float)rand() / RAND_MAX)) + min; +} + +void constructor(int w, int h, OBJECT *obj){ + obj->pos.x = (float)w/2; + obj->pos.y = (float)h/2; +} + +OBJECT init_stuffs(int w, int h){ + OBJECT obj; + constructor(w,h,&obj); + + return obj; +} + +void update(STUFFS *stuff){ + Point rand_point = {RandomFloat(-1, 1),RandomFloat(-1, 1)}; + point_set_mag(&rand_point, 1); + + float random_mul = RandomFloat(50, 100); + point_mul(&rand_point,&(Point){.x = random_mul, .y = random_mul}); + + stuff->obj->pos.x = rand_point.x + (float)stuff->width / 2;; + stuff->obj->pos.y = rand_point.y + (float)stuff->height / 2; +} + +void show(SDL_Renderer* renderer,STUFFS *stuff){ + 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}); + SDL_RenderDrawLine(renderer,stuff->width/2,stuff->height/2,stuff->obj->pos.x,stuff->obj->pos.y); +} + +void draw(SDL_Renderer* renderer,SDL_Window* window, STUFFS *stuff){ + //SDL_SetRenderDrawColor(renderer,0,0,0,255); + //SDL_RenderClear(renderer); + + update(stuff); + show(renderer,stuff); + + SDL_RenderPresent(renderer); +} + +void mousePressed(STUFFS *stuff){ + +} + +#include <init.c> |
