/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* fillit.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: gtertysh +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/14 16:42:06 by gtertysh #+# #+# */ /* Updated: 2016/12/20 19:18:00 by gtertysh ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef FILLIT_H # define FILLIT_H #include "libft.h" #include #include #include #include #include // warning! # define BUF_S 8192 # define HOW_MUCH 10000 typedef struct s_coord { int x; int y; } t_coord; typedef struct s_ttrmn { char t[17]; int x; int y; t_coord c[4]; } t_ttrmn; typedef struct s_col { struct s_col *left; struct s_col *right; void *up; void *down; } t_col; typedef struct s_node { struct s_node *left; struct s_node *right; struct s_node *up; struct s_node *down; int row; t_col *column; } t_node; // reads from file char *read_file(char *path); // convert string to table by spliting by '\n' char **to_table(char **string); // print table returned by to_table() void print_table(char **table); // creates new table where each string represent whole figrure char **glue_figure(char **table); // move tetromino in top left corner void move_up_left(char **table); // print table returned by glue_figure() void print_one_string(t_ttrmn ttr); // compare 19 templates with each tetromino in *ttr table void test_check(char **ttr, t_ttrmn *tamplates); // change hashes ('#') with letters // obsolete, rewrite for structs array void to_letters(char **ttr); // create array of ttr structures int *to_strct_array(char **ttr, t_ttrmn *templates); t_col *add_column(t_col *root); t_node *add_node(t_col *col, int row); void cover(t_col *to_cover); void uncover(t_col *to_uncover); #endif