diff --git a/graphics.c b/graphics.c index 2d9d4ee..b530165 100644 --- a/graphics.c +++ b/graphics.c @@ -19,7 +19,8 @@ void render(Canvas* c){ for(int i=0; i < c->y; i++){ for(int j=0; j < c->x; j++){ - putchar(c->data[i*(c->x)+j]); + putchar(c->data[i*(c->x)+j]); + putchar(' '); } putchar('\n'); } @@ -39,23 +40,25 @@ void dot(Canvas* c, uint x, uint y){ void line(Canvas* c, uint start_x, uint start_y, uint end_x, uint end_y){ #ifndef abs #define abs(x) ((x<0)?(-x):(x)) - - int dx = abs(end_x - start_x); int dy = abs(end_y - start_y); int direction_x = start_x < end_x ? 1 : -1; int direction_y = start_y < end_y ? 1 : -1; - printf("dx:%i dy:%i direction:%i,%i", dx, dy, direction_x, direction_y); + printf("dx:%i dy:%i direction:%i,%i \n", dx, dy, direction_x, direction_y); - if(dx>dy){ - for(int i=0; i=dy){ + float small = direction_y * (float)dy/(float)dx; + + for(int i=0; i