diff options
| author | Kirill Petrashin <kirill8201@yandex.ru> | 2026-04-13 14:53:35 +0300 |
|---|---|---|
| committer | Kirill Petrashin <kirill8201@yandex.ru> | 2026-04-13 14:53:35 +0300 |
| commit | a68f59b62a7a19a079806880004901214ca784f4 (patch) | |
| tree | 2402814696965167e50e934592ae8d35dbcf6639 /path.c | |
| parent | 9284218d664c22b3e512abacd2c70d15cc339307 (diff) | |
| download | astar-a68f59b62a7a19a079806880004901214ca784f4.tar.xz | |
More keybindings in anim()
Diffstat (limited to 'path.c')
| -rw-r--r-- | path.c | 34 |
1 files changed, 30 insertions, 4 deletions
@@ -21,10 +21,36 @@ int anim(Map map, size_t width, size_t height, Position start, Position end, Pos message(height, "cur: %zu %zu", cur->x, cur->y); if (automatic) { wrefresh(stdscr); usleep(ANIM_DELAY_USEC); return 0; } switch (getch()) { - case 'h': map_offset_x -= 2; break; - case 'l': map_offset_x += 2; break; - case 'j': map_offset_y += 1; break; - case 'k': map_offset_y -= 1; break; + case 'h': map_offset_x += 2; break; + case 'l': map_offset_x -= 2; break; + case 'j': map_offset_y -= 1; break; + case 'k': map_offset_y += 1; break; + + case 'H': clear(); map_offset_x += 20; break; + case 'L': clear(); map_offset_x -= 20; break; + case 'J': clear(); map_offset_y -= 10; break; + case 'K': clear(); map_offset_y += 10; break; + + case 'z': clear(); map_offset_x = 2; map_offset_y = 1; break; /* Move to top left corner */ + case 'x': clear(); map_offset_x = - width * 2 + COLS - 2; map_offset_y = - height + LINES - 2; break; /* Move to bottom right corner */ + + case 'g': + switch (getch()) { + case 's': + clear(); + map_offset_x = -start.x * 2 + COLS/2; + map_offset_y = -start.y + LINES/2; + break; + case 'e': + clear(); + map_offset_x = -end.x * 2 + COLS/2; + map_offset_y = -end.y + LINES/2; + break; + } + break; + + /* TODO: Add a binding to do a bmp */ + case 'a': automatic = 1; break; case 'q': return -1; default: return 0; |
