From b7f5f6118812bfb6bf0815ab23f3399eec571068 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Mon, 02 Aug 2021 00:45:07 -0400 Subject: maze: Render (untested) TODO: Color --- diff --git a/src/maze.c b/src/maze.c index 3d62485..dcfa150 100644 --- a/src/maze.c +++ b/src/maze.c @@ -17,6 +17,7 @@ * along with Maze Fight. If not, see . */ +#include #include #include "maze.h" @@ -178,6 +179,49 @@ mf_maze_new(int s, int w, int h) return m; } +int +mf_maze_render(struct mf_maze *m, SDL_Renderer *renderer, int cw) +{ + int e; + int x; + int y; + + e = 0; + + for (y = 0; y < m->h; ++y) { + for (x = 0; x < m->w; ++x) { + if (y < m->h - 1 && mf_maze_is_wall(m, x, y, 0, 1)) { + /* Draw v line */ + if (SDL_RenderDrawLine(renderer, + (x+1) * cw, (y ) * cw, + (x+1) * cw, (y+1) * cw) + < 0) { + SDL_LogError( + SDL_LOG_CATEGORY_APPLICATION, + "Couldn't draw line: %s", + SDL_GetError()); + e = -1; + } + } + if (x < m->w - 1 && mf_maze_is_wall(m, x, y, 1, 0)) { + /* Draw h line */ + if (SDL_RenderDrawLine(renderer, + (x ) * cw, (y+1) * cw, + (x+1) * cw, (y+1) * cw) + < 0) { + SDL_LogError( + SDL_LOG_CATEGORY_APPLICATION, + "Couldn't draw line: %s", + SDL_GetError()); + e = -1; + } + } + } + } + + return e; +} + void mf_maze_destroy(struct mf_maze **m_p) { diff --git a/src/maze.h b/src/maze.h index c584c35..04868a0 100644 --- a/src/maze.h +++ b/src/maze.h @@ -20,6 +20,8 @@ #ifndef MF_MAZE_H_ #define MF_MAZE_H_ +#include + struct mf_maze; void @@ -32,6 +34,9 @@ mf_maze_is_wall(struct mf_maze *m, int x, int y, int dx, int dy) struct mf_maze * mf_maze_new(int s, int w, int h); +int +mf_maze_render(struct mf_maze *m, SDL_Renderer *renderer, int cw); + void mf_maze_destroy(struct mf_maze **m_p); -- cgit v0.9.1