diff --git a/src/main.c b/src/main.c index 8e91d14..d323332 100644 --- a/src/main.c +++ b/src/main.c @@ -1,7 +1,95 @@ -#include +// https://www.youtube.com/playlist?list=PLkTXsX7igf8erbWGYT4iSAhpnJLJ0Nk5G + +#include +#include + +typedef struct { + int pos_x; + int pos_y; +} player_t; + +player_t *player_malloc(void); +void player_free(player_t *player); + +int screen_setup(void); +int screen_teardown(void); + +int draw_map(void); +int draw_player(player_t *player); int main(void) { - printf("Hello, World!\n"); + player_t *player = player_malloc(); + + screen_setup(); + + while (true) + { + draw_map(); + draw_player(player); + refresh(); + + char key_pressed = getch(); + + if (key_pressed == 'q') { + break; + } + } + + screen_teardown(); + + player_free(player); + return 0; +} + +int screen_setup(void) +{ + initscr(); + noecho(); + + return 0; +} + +int screen_teardown(void) +{ + endwin(); + + return 0; +} + +int draw_map(void) +{ + int const pos_x = 0; + int const pos_y = 0; + + mvprintw(pos_y+0, pos_x, "--------"); + mvprintw(pos_y+1, pos_x, "|......|"); + mvprintw(pos_y+2, pos_x, "|......|"); + mvprintw(pos_y+3, pos_x, "|......|"); + mvprintw(pos_y+4, pos_x, "--------"); + + return 0; +} + +player_t *player_malloc(void) +{ + int const player_x = 1; + int const player_y = 1; + + player_t *player = (player_t*)malloc(sizeof(player_t)); + player->pos_x = player_x; + player->pos_y = player_y; + return player; +} + +void player_free(player_t *player) +{ + free(player); +} + +int draw_player(player_t *player) +{ + mvprintw(player->pos_y, player->pos_x, "@"); + return 0; }