aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorKirill Petrashin <kirill8201@yandex.ru>2026-04-23 14:42:55 +0300
committerKirill Petrashin <kirill8201@yandex.ru>2026-04-23 14:42:55 +0300
commitb4b83c53db8b79a2141ef43ce9d3567f482462ee (patch)
tree14e93576b7dc2e846cc60981e27bc71e620fed5f /main.c
parent53ed90ab4f3b493f1c3abd4aff4fa45f3f8a0909 (diff)
downloadastar-b4b83c53db8b79a2141ef43ce9d3567f482462ee.tar.xz
Allow switching amount of directions with a keybind
Diffstat (limited to 'main.c')
-rw-r--r--main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/main.c b/main.c
index db1d7a8..98093dc 100644
--- a/main.c
+++ b/main.c
@@ -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)