aboutsummaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
Diffstat (limited to 'inc')
-rw-r--r--inc/hanoi.h30
-rw-r--r--inc/tower.h43
2 files changed, 29 insertions, 44 deletions
diff --git a/inc/hanoi.h b/inc/hanoi.h
index 1953499..3091658 100644
--- a/inc/hanoi.h
+++ b/inc/hanoi.h
@@ -1,9 +1,15 @@
#ifndef HANOI_H
# define HANOI_H
+# include <unistd.h>
+# include <stdlib.h>
+# include <stdint.h>
+# include <stddef.h>
+# include <string.h>
+
# include <ncurses.h>
-# include "tower.h"
+# define MAX_HEIGHT 128
enum e_mode
{
@@ -11,4 +17,26 @@ enum e_mode
MODE_SELECT_TO,
};
+
+typedef struct
+{
+ uint8_t data[MAX_HEIGHT];
+ size_t len;
+} t_tower;
+
+enum e_highlight
+{
+ HIGHLIGHT_NONE = 0,
+ HIGHLIGHT_FROM = 1 << 0,
+ HIGHLIGHT_CURRENT = 1 << 1,
+};
+
+void towers_init(t_tower towers[3], size_t disk_num);
+void towers_move(t_tower towers[3], size_t from, size_t to);
+void tower_put(t_tower *tower, WINDOW *win, enum e_highlight highlight_level);
+uint8_t tower_peek(t_tower *tower);
+
+void solve(t_tower towers[3], WINDOW *wins[3],
+ int n, int from, int via, int to);
+
#endif
diff --git a/inc/tower.h b/inc/tower.h
deleted file mode 100644
index da3fb1e..0000000
--- a/inc/tower.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* ************************************************************************** */
-/* */
-/* . */
-/* tower.h / \ */
-/* / \ */
-/* By: charles <charles.cabergs@gmail.com> /o o \ */
-/* / v \ */
-/* Created: 2020/06/27 14:06:50 by charles / _ \ */
-/* Updated: 2020/06/28 08:12:37 by charles '-----------' */
-/* */
-/* ************************************************************************** */
-
-#ifndef TOWER_H
-# define TOWER_H
-
-# include <stdlib.h>
-# include <stdint.h>
-# include <stddef.h>
-# include <string.h>
-
-# include <ncurses.h>
-
-# define MAX_HEIGHT 128
-
-typedef struct
-{
- uint8_t data[MAX_HEIGHT];
- size_t len;
-} t_tower;
-
-enum e_highlight
-{
- HIGHLIGHT_NONE = 0,
- HIGHLIGHT_FROM = 1 << 0,
- HIGHLIGHT_CURRENT = 1 << 1,
-};
-
-void towers_init(t_tower towers[3], size_t disk_num);
-void towers_move(t_tower towers[3], size_t from, size_t to);
-void tower_put(t_tower *tower, WINDOW *win, enum e_highlight highlight_level);
-uint8_t tower_peek(t_tower *tower);
-
-#endif