diff options
| author | Kirill Petrashin <kirill8201@yandex.ru> | 2026-04-23 14:42:55 +0300 |
|---|---|---|
| committer | Kirill Petrashin <kirill8201@yandex.ru> | 2026-04-23 14:42:55 +0300 |
| commit | b4b83c53db8b79a2141ef43ce9d3567f482462ee (patch) | |
| tree | 14e93576b7dc2e846cc60981e27bc71e620fed5f /main.c | |
| parent | 53ed90ab4f3b493f1c3abd4aff4fa45f3f8a0909 (diff) | |
| download | astar-b4b83c53db8b79a2141ef43ce9d3567f482462ee.tar.xz | |
Allow switching amount of directions with a keybind
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -160,6 +160,7 @@ int main(int argc, char **argv) { draw_map(map, cell_costs, width, height, start_pos, end_pos, NULL, path, visited, NULL); int c = getch(); + /* TODO: keybinding to change dir amount */ /* * Keybindings: * [k] \ @@ -185,6 +186,7 @@ int main(int argc, char **argv) { * [A] - Force animate * * [d] - Switch algorithms (A* or Dijsktra's) + * [4] - Switch amount of directions (4 or 8) * * [f] - Toggle wraparound * @@ -280,6 +282,14 @@ int main(int argc, char **argv) { /* TODO: print time */ break; + case '4': + if (dirs == 4) { set_message("8 directions"); dirs = 8; } + else { set_message("4 directions"); dirs = 4; }; + + path_free(path, height); + path = path_func(dirs, map, cell_costs, width, height, start_pos, end_pos, visited, anim); + break; + case 'f': wraparound_enabled = !wraparound_enabled; if (wraparound_enabled) |
