#include #include #include #include #include #include "map.h" #include "structs.h" /* So, TODO for now: - Implement the A* algorithm - Implement adding maps from files (with rle, preferably) - Implement controls (to change maps, move start/goal, etc.) - Render goal and start in bold */ void sigint_handler(int sig) { (void)sig; /* We know it's a SIGINT */ endwin(); printf("Received SIGINT\n"); exit(1); } void initialize_colors(void) { start_color(); use_default_colors(); init_pair(EMPTY_COLOR, COLOR_BLACK, -1); init_pair(GOAL_COLOR, COLOR_RED, -1); init_pair(WALL_COLOR, COLOR_WHITE, COLOR_WHITE); /* Using white as bg makes them seem solid */ init_pair(START_COLOR, COLOR_RED, -1); } int main(void) { signal(SIGINT, sigint_handler); initscr(); /* Initialize the ncurses screen */ cbreak(); /* Process input one char at a time */ curs_set(0); /* Hide the cursor */ noecho(); /* Don't echo characters */ initialize_colors(); Map map = rbt_maze_map(20, 10, (unsigned int) time(NULL)); Position fake_start_position_to_pass_into_draw_map = {0, 0}; Position fake_goal_position_to_pass_into_draw_map = {20*2-2, 10*2-2}; draw_map(map, 20*2-1, 10*2-1, fake_start_position_to_pass_into_draw_map, fake_goal_position_to_pass_into_draw_map); getch(); endwin(); return 0; }