aboutsummaryrefslogtreecommitdiff
path: root/path.c
diff options
context:
space:
mode:
Diffstat (limited to 'path.c')
-rw-r--r--path.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/path.c b/path.c
index 3ea350c..2547fd3 100644
--- a/path.c
+++ b/path.c
@@ -3,6 +3,7 @@
#include <string.h>
#include <curses.h>
#include <math.h>
+#include <unistd.h>
#include "path.h"
#include "map.h"
@@ -12,16 +13,21 @@
#include "config.h"
/* TODO: somehow get offsets back to main */
+/* TODO: make it move the map maybe to show the path */
+/* TODO: figure out input when automatic = 1 */
int anim(Map map, size_t width, size_t height, Position start, Position end, Position *cur, char **visited, PositionPQ *frontier) {
static int offset_y = 0, offset_x = 0;
+ static char automatic = 0;
while (1) {
draw_map(map, width, height, offset_x, offset_y, start, end, cur, NULL, visited, frontier);
mvprintw(height+2 + offset_y, offset_x, "cur: %zu %zu", cur->x, cur->y);
+ if (automatic) { usleep(ANIM_DELAY_USEC); return 0; }
switch (getch()) {
case 'h': offset_x -= 2; break;
case 'l': offset_x += 2; break;
case 'j': offset_y += 1; break;
case 'k': offset_y -= 1; break;
+ case 'a': automatic = 1; break;
case 'q': return -1;
default: return 0;
}