Compare commits
154 Commits
add_to_lis
...
ralentit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5bdc944da9 | ||
|
|
f29d9d8e60 | ||
|
|
f79d3812d0 | ||
|
|
56ca478503 | ||
|
|
04a4fef38b | ||
|
|
e7e944f1ac | ||
|
|
819a14407d | ||
|
|
2bc1f50b46 | ||
|
|
7a07d84d6c | ||
|
|
0236573b6d | ||
|
|
fb1a41e94f | ||
|
|
6ca294272f | ||
|
|
bfd23d6211 | ||
|
|
fa5f2e7f00 | ||
|
|
246906a490 | ||
|
|
eea8110abd | ||
|
|
79a5fb188c | ||
|
|
59d2be2756 | ||
|
|
c82ba9bccb | ||
|
|
ed06e3eb8e | ||
|
|
2dfe395a9b | ||
|
|
77656ba113 | ||
|
|
a9e62833bb | ||
|
|
6b9936b0cd | ||
|
|
1a16e305d3 | ||
|
|
1811268725 | ||
|
|
184981a28d | ||
|
|
c2e87b7303 | ||
|
|
2dbd5b7320 | ||
|
|
0912e52a7a | ||
|
|
f4b1da414c | ||
|
|
94c0e5d57f | ||
|
|
e5aea30023 | ||
|
|
6705bf9133 | ||
|
|
2e53b04a9a | ||
|
|
a639da4ac5 | ||
|
|
b9bdc14db7 | ||
|
|
af527c6316 | ||
|
|
aa8ec6fe66 | ||
|
|
213eff3255 | ||
|
|
67cb5dea38 | ||
|
|
8a62783a6b | ||
|
|
1c6e41e8bf | ||
|
|
3977a73682 | ||
|
|
2738a5e24b | ||
|
|
1ff7abafd6 | ||
|
|
4a7ad39626 | ||
|
|
fe191054c9 | ||
|
|
d057ef941b | ||
|
|
23c9e19ea6 | ||
|
|
74ef38e23a | ||
|
|
60d1d87b76 | ||
|
|
e784b96efe | ||
|
|
b85454473d | ||
|
|
6558b77ef2 | ||
|
|
7872fac59e | ||
|
|
c1850f3fd6 | ||
|
|
fdb4c53787 | ||
|
|
1cf791746c | ||
|
|
8d9b314781 | ||
|
|
7d0dab1e1e | ||
|
|
60b970e901 | ||
|
|
671585098f | ||
|
|
bd38cd52ed | ||
|
|
192c2ba0ae | ||
|
|
8a49caad94 | ||
|
|
05e265b3b1 | ||
|
|
929e070fb0 | ||
|
|
f035f37607 | ||
|
|
c8570a26f1 | ||
|
|
37b565f3da | ||
|
|
2291152158 | ||
|
|
527b621526 | ||
|
|
0e6e4a3caa | ||
|
|
c118eac450 | ||
|
|
646d611381 | ||
|
|
c40da94786 | ||
|
|
c50f971f50 | ||
|
|
7b26fc7feb | ||
|
|
5dd491ed52 | ||
|
|
9639bd80e3 | ||
|
|
4d4ec6d8e0 | ||
|
|
7e2ef9e878 | ||
|
|
ef78667474 | ||
|
|
2363e42167 | ||
|
|
ed1cde6e22 | ||
|
|
c7f7ac205c | ||
|
|
0eef1b4825 | ||
|
|
8967fcb464 | ||
|
|
817528c943 | ||
|
|
656973ae52 | ||
|
|
1dd8a9e8c8 | ||
|
|
003d2b3cbb | ||
|
|
4f212d598a | ||
|
|
12fff81bde | ||
|
|
faae791431 | ||
|
|
3e20319691 | ||
|
|
fa281b58ea | ||
|
|
16f98e1a1d | ||
|
|
fc0530a257 | ||
|
|
48576180a2 | ||
|
|
b5ad1209f4 | ||
|
|
213cf40eb4 | ||
|
|
c83ac7599d | ||
|
|
e1f4ebee2a | ||
|
|
4007f0d707 | ||
|
|
51205f5c56 | ||
|
|
ac29587a10 | ||
|
|
23ec23f8bc | ||
|
|
33f74f31fc | ||
|
|
c70803b01b | ||
|
|
2364b6322a | ||
|
|
dabdd7dbef | ||
|
|
2bac429596 | ||
|
|
8da1c5bec6 | ||
|
|
8d9afa579d | ||
|
|
ef84335727 | ||
|
|
c2101d3af9 | ||
|
|
7bf76e5d41 | ||
|
|
39a59058ba | ||
|
|
2c9340c645 | ||
|
|
0aa3026f65 | ||
|
|
f4492e2735 | ||
|
|
21c10a5787 | ||
|
|
acf5aed90e | ||
|
|
9a463f3358 | ||
|
|
952cc5bf22 | ||
|
|
d0de4dcb47 | ||
|
|
b2d291603c | ||
|
|
6d093e66cc | ||
|
|
02159dc587 | ||
|
|
704a47684d | ||
|
|
3f6f6f249a | ||
|
|
b5f8e37699 | ||
|
|
88b126d3f1 | ||
|
|
64464522f0 | ||
|
|
fc69b0242c | ||
|
|
41f5d6b202 | ||
|
|
bcfe54e614 | ||
|
|
1422c8e046 | ||
|
|
61cab1af7f | ||
|
|
730964a817 | ||
|
|
cfa772677c | ||
|
|
729853cea0 | ||
|
|
15bbf591e8 | ||
|
|
851622dc93 | ||
|
|
041aa6c9b5 | ||
|
|
4462517caf | ||
|
|
de86161fcd | ||
|
|
7dfe29b224 | ||
|
|
67ec57fd3d | ||
|
|
f592c3cede | ||
|
|
e9d29e6dc1 | ||
|
|
301d2ba5fb |
Binary file not shown.
12
.gitignore
vendored
12
.gitignore
vendored
@@ -5,3 +5,15 @@ objs/
|
||||
a\.out\.dSYM/
|
||||
|
||||
a\.out
|
||||
|
||||
*.swo
|
||||
|
||||
*.swp
|
||||
|
||||
fillit
|
||||
|
||||
test_fillit\.c
|
||||
|
||||
libft
|
||||
|
||||
\.DS_Store
|
||||
|
||||
Binary file not shown.
BIN
.test_mask.c.swp
BIN
.test_mask.c.swp
Binary file not shown.
61
Makefile
61
Makefile
@@ -6,43 +6,50 @@
|
||||
# By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2019/03/01 13:24:35 by vmanzoni #+# #+# #
|
||||
# Updated: 2019/04/16 14:05:39 by hulamy ### ########.fr #
|
||||
# Updated: 2019/05/29 14:03:03 by vmanzoni ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
NAME = fillit
|
||||
# - - - - - - - - - - - - - - - #
|
||||
# VARIABLES #
|
||||
# - - - - - - - - - - - - - - - #
|
||||
|
||||
OBJ_DIR = ./
|
||||
HEADER = ./
|
||||
NAME = fillit
|
||||
CC = gcc
|
||||
|
||||
SRCS = *.c
|
||||
OBJS = $(SRCS:.c=.o)
|
||||
LIB = fillit.h
|
||||
CFLAGS = -I.
|
||||
CFLAGS += -Wall -Wextra -Werror
|
||||
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -Werror -Wextra
|
||||
LDFLAGS = -L./libft/
|
||||
LDLIBS = -lft
|
||||
|
||||
RM = rm -rf
|
||||
SRCS = $(shell find . -depth 1 -type f -not -name '.*' -not -name 'test*' -name '*.c')
|
||||
|
||||
all: $(NAME)
|
||||
TRASH = $(shell find . -depth 1 -name '*.dSYM')
|
||||
TRASH += $(shell find . -depth 1 -type f -name '*.o')
|
||||
TRASH += $(shell find . -depth 1 -type f -name '*.swp')
|
||||
TRASH += $(shell find . -depth 1 -type f -name '*.swo')
|
||||
TRASH += $(shell find . -depth 1 -type f -name '*.swn')
|
||||
|
||||
$(NAME):
|
||||
make -C libft/
|
||||
$(CC) $(CFLAGS) -I$(HEADER) -c $(SRCS)
|
||||
$(CC) -o $(NAME) $(OBJS) -L libft/ -lft
|
||||
#$(CC) $(CFLAGS) -I$(HEADER) -c $(addprefix $(SRC_DIR), $(SRCS))
|
||||
#$(CC) $(OBJS) -o $(NAME)
|
||||
mkdir $(OBJ_DIR)
|
||||
mv $(OBJS) $(OBJ_DIR)
|
||||
# - - - - - - - - - - - - - - - #
|
||||
# RULES #
|
||||
# - - - - - - - - - - - - - - - #
|
||||
|
||||
all: $(NAME)
|
||||
|
||||
$(NAME): $(SRCS)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(SRCS) -o $(NAME)
|
||||
|
||||
debug: $(SRCS)
|
||||
$(CC) -g $(CFLAGS) $(LDFLAGS) $(LDLIBS) $(SRCS) -o $(NAME)
|
||||
|
||||
lib:
|
||||
make -C ./libft/
|
||||
|
||||
clean:
|
||||
make -C libft/ clean
|
||||
$(RM) $(OBJ_DIR)
|
||||
/bin/rm -rf $(TRASH)
|
||||
|
||||
fclean: clean
|
||||
make -C libft/ fclean
|
||||
$(RM) $(NAME)
|
||||
fclean: clean
|
||||
/bin/rm -rf $(NAME)
|
||||
|
||||
re: fclean all
|
||||
|
||||
.PHONY: all clean fclean re
|
||||
re: fclean all
|
||||
|
||||
22
README.md
22
README.md
@@ -1,20 +1,24 @@
|
||||
# Fillit
|
||||
|
||||
**hulamy** and **vmanzoni**
|
||||
Team: **hulamy** and **vmanzoni**
|
||||
|
||||
Le but de ce projet est d’agencer les Tetriminos entre eux pour former le plus petit carré possible, sachant que ce carré peut présenter des trous quand les pièces données ne s’emboîtent pas parfaitement.
|
||||
|
||||
## To do
|
||||
|
||||
- [x] Check if we have a file
|
||||
- [x] Read file
|
||||
- [x] Check if there are errors in file
|
||||
- At least 1 tetrimino or less than 26
|
||||
- [x] Check if every tetrimino is valid
|
||||
- 4 char * 4 lines
|
||||
- 4 blocks in 1 tetrimino
|
||||
- No solo block
|
||||
- [x] Transform file into tetriminos
|
||||
- [ ] Backtracking for smallest square
|
||||
- [ ] Transform tetriminos to letters
|
||||
- [ ] Print result
|
||||
- [x] Backtracking for smallest square
|
||||
- [x] Transform tetriminos to letters
|
||||
- [x] Print result (Can be done with above step)
|
||||
- [ ] Free everything (NO LEAKS)
|
||||
|
||||
- [ ] Optimisation
|
||||
## BONUS
|
||||
- [x] Best error handler (more details on why there is an error.)
|
||||
- [x] Optimisation (skip when tetri with same shape was already tested on map)
|
||||
- [x] Add colors to tetri when printing result map
|
||||
- [x] Flag for debbuging (print every step in backtracking)
|
||||
- [x] Adding flags (and password for blocking more args on moulinette)
|
||||
|
||||
152
add_to_list.c
152
add_to_list.c
@@ -1,152 +0,0 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* add_to_list.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: hulamy <hulamy@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/04/14 15:20:53 by hulamy #+# #+# */
|
||||
/* Updated: 2019/04/18 01:33:00 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
#include <stdio.h>
|
||||
|
||||
/*
|
||||
** Function that fills the char **tetraminos section of the structure
|
||||
** with the most little rectangle that fit the tetraminos
|
||||
*/
|
||||
|
||||
char **fill_tetraminos(char **square, int *tab)
|
||||
{
|
||||
char **result;
|
||||
int height;
|
||||
int length;
|
||||
int i;
|
||||
int j;
|
||||
|
||||
i = 0;
|
||||
height = tab[2] - tab[0] + 1;
|
||||
length = tab[3] - tab[1] + 1;
|
||||
if (!(result = (char**)malloc(sizeof(*result) * (height + 1))))
|
||||
return (NULL);
|
||||
while (i < height)
|
||||
{
|
||||
if (!(result[i] = (char*)malloc(sizeof(**result) * (length + 1))))
|
||||
return (NULL);
|
||||
result[i][length] = '\0';
|
||||
i++;
|
||||
}
|
||||
i = -1;
|
||||
while (++i < height && (j = -1))
|
||||
while (++j < length)
|
||||
result[i][j] = square[tab[0] + i][tab[1] + j];
|
||||
return (result);
|
||||
}
|
||||
|
||||
/*
|
||||
** This function calculate the line and columns where the tetraminos
|
||||
** start and end, by skipping the empty lines
|
||||
**
|
||||
** ! it has a little bug so far, i need to fix it
|
||||
*/
|
||||
|
||||
void find_start_and_end(char **square, int **x)
|
||||
{
|
||||
int i;
|
||||
|
||||
x[0][0] = -1;
|
||||
x[0][1] = -1;
|
||||
x[0][2] = 4;
|
||||
x[0][3] = 4;
|
||||
i = 4;
|
||||
while (x[0][0] < 4 && i == 4 && !(i = 0) && square[++(x[0][0])][0] != '#')
|
||||
while (i < 4 && square[*(x[0])][i] != '#')
|
||||
i++;
|
||||
i = 4;
|
||||
while (x[0][1] < 4 && i == 4 && !(i = 0) && square[0][++(x[0][1])] != '#')
|
||||
while (i < 4 && square[i][x[0][1]] != '#')
|
||||
i++;
|
||||
i = -1;
|
||||
while (x[0][2] >= 0 && i == -1 && (i = 3) && square[--(x[0][2])][3] != '#')
|
||||
while (i >= 0 && square[x[0][2]][i] != '#')
|
||||
i--;
|
||||
i = -1;
|
||||
while (x[0][3] >= 0 && i == -1 && (i = 3) && square[3][--(x[0][3])] != '#')
|
||||
while (i >= 0 && square[i][x[0][3]] != '#')
|
||||
i--;
|
||||
}
|
||||
|
||||
/*
|
||||
** this function first call find_start_and_end to find the coordinates
|
||||
** of start en end of the most little rectangle that fit the tetraminos
|
||||
**
|
||||
** it allows it to fill the structure with the size information
|
||||
** (for instance :
|
||||
** "##" ".#" ".#"
|
||||
** is a tatraminos of 2 by 3)
|
||||
** then it fills also the area information (2 * 3 = 6)
|
||||
**
|
||||
** and finally it calls fill_tetraminos to fill the char **tetraminos
|
||||
*/
|
||||
|
||||
int fill_list(char **square, t_fillist *list)
|
||||
{
|
||||
int *tab;
|
||||
|
||||
tab = (int*)malloc(sizeof(int) * 4);
|
||||
find_start_and_end(square, &tab);
|
||||
list->size[0] = tab[3] - tab[1] + 1;
|
||||
list->size[1] = tab[2] - tab[0] + 1;
|
||||
list->area = list->size[0] * list->size[1];
|
||||
list->tetraminos = fill_tetraminos(square, tab);
|
||||
return (1);
|
||||
}
|
||||
|
||||
/*
|
||||
** this function first checks if the structure has been created
|
||||
** if not, it creates the first element, else it adds an element
|
||||
** and modifies the initial pointer to link to the new first element
|
||||
**
|
||||
** then it calls fill_list to fill the data of the structure
|
||||
*/
|
||||
|
||||
int add_to_list(char **square, t_fillist **list)
|
||||
{
|
||||
t_fillist *tmp;
|
||||
|
||||
if (!(tmp = (t_fillist*)malloc(sizeof(*tmp))))
|
||||
return (0);
|
||||
if (!(*list))
|
||||
tmp->next = NULL;
|
||||
else
|
||||
tmp->next = *list;
|
||||
*list = tmp;
|
||||
fill_list(square, *list);
|
||||
return (1);
|
||||
}
|
||||
|
||||
/*
|
||||
**int main(int ac, char **av)
|
||||
**{
|
||||
** static t_fillist *list = NULL; // avant d'appeller add_to_list il faut declarer un pointeur static vers la structure
|
||||
** int i;
|
||||
**
|
||||
** if (ac > 1)
|
||||
** {
|
||||
** add_to_list(++av, &list); // l'appel de la fonction se fait avec un carre valide de 4*4 et l'adresse du pointeur vers la liste
|
||||
** if (ac == 9)
|
||||
** add_to_list(av += 4, &list);
|
||||
** while (list && (i = -1))
|
||||
** {
|
||||
** while (++i < list->size[1])
|
||||
** printf("%s\n", list->tetraminos[i]);
|
||||
** printf("\n");
|
||||
** list = list->next;
|
||||
** }
|
||||
** }
|
||||
**
|
||||
** return (0);
|
||||
**}
|
||||
*/
|
||||
100
f_bonus_opti.c
Normal file
100
f_bonus_opti.c
Normal file
@@ -0,0 +1,100 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* bonus.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: hulamy <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/05/24 14:42:46 by hulamy #+# #+# */
|
||||
/* Updated: 2019/06/01 14:11:32 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
** Test optimisation for not testing wrong maps when tetri are identical
|
||||
*/
|
||||
|
||||
int check_tetri_memory(t_fillist *list, int pos)
|
||||
{
|
||||
t_fillist *tetri;
|
||||
unsigned int mask;
|
||||
|
||||
tetri = list;
|
||||
mask = 1 << ((pos % 32) - 1);
|
||||
if (tetri->same)
|
||||
{
|
||||
if (!(tetri->same->memory[pos / 32] & mask))
|
||||
return (tetri->same->memory[pos / 32] |= mask);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(tetri->memory[pos / 32] & mask))
|
||||
return (tetri->memory[pos / 32] |= mask);
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
** Test optimisation for not testing wrong maps when tetri are identical
|
||||
*/
|
||||
|
||||
int compare_tetri(t_fillist *tetri_a, t_fillist *tetri_b)
|
||||
{
|
||||
if (tetri_a->tetribit != tetri_b->tetribit)
|
||||
return (0);
|
||||
if (tetri_a->width != tetri_b->width)
|
||||
return (0);
|
||||
if (tetri_a->height != tetri_b->height)
|
||||
return (0);
|
||||
return (1);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that free the list->memory each time it's malloc
|
||||
*/
|
||||
|
||||
t_fillist *clean_list_memory(t_fillist *list, t_fillist *tmp)
|
||||
{
|
||||
while (tmp)
|
||||
{
|
||||
if (tmp->memory)
|
||||
free(tmp->memory);
|
||||
tmp = tmp->next;
|
||||
}
|
||||
return (list);
|
||||
}
|
||||
|
||||
/*
|
||||
** Test optimisation for not testing wrong maps when tetri are identical
|
||||
*/
|
||||
|
||||
int check_same_tetri(t_fillist *list, int num)
|
||||
{
|
||||
t_fillist *curr_tetri;
|
||||
t_fillist *next_tetri;
|
||||
int i;
|
||||
|
||||
curr_tetri = clean_list_memory(list, list);
|
||||
while (curr_tetri != NULL)
|
||||
{
|
||||
i = 0;
|
||||
if (!(curr_tetri->memory =
|
||||
(unsigned int *)malloc(sizeof(*curr_tetri->memory) * num)))
|
||||
return (0);
|
||||
while (i < num)
|
||||
curr_tetri->memory[i++] = 0;
|
||||
next_tetri = curr_tetri->next;
|
||||
while (next_tetri != NULL)
|
||||
{
|
||||
if (compare_tetri(curr_tetri, next_tetri))
|
||||
if (next_tetri->same == NULL)
|
||||
next_tetri->same = curr_tetri;
|
||||
next_tetri = next_tetri->next;
|
||||
}
|
||||
curr_tetri->total_num = num;
|
||||
curr_tetri = curr_tetri->next;
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
78
f_bonus_print.c
Normal file
78
f_bonus_print.c
Normal file
@@ -0,0 +1,78 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* f_bonus_print.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: hulamy <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/05/27 13:46:29 by hulamy #+# #+# */
|
||||
/* Updated: 2019/06/01 15:00:01 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
** function that print the given tetris if flag p is present
|
||||
*/
|
||||
|
||||
t_fillist *print_tetri(t_fillist *list)
|
||||
{
|
||||
unsigned int print;
|
||||
t_fillist *tmp;
|
||||
|
||||
tmp = list;
|
||||
if (list->dope[2])
|
||||
{
|
||||
while (tmp)
|
||||
{
|
||||
check_same_tetri(list, 1);
|
||||
print = tmp->tetribit;
|
||||
print <<= 16;
|
||||
print_sized_map(&print, tmp->width, tmp->height, tmp->letter);
|
||||
if (tmp->same && list->dope[1])
|
||||
{
|
||||
print = tmp->same->tetribit;
|
||||
print <<= 16;
|
||||
ft_putstr("same --> ");
|
||||
ft_put_tetri_color(tmp->same->letter);
|
||||
ft_putchar('\n');
|
||||
}
|
||||
ft_putchar('\n');
|
||||
tmp = tmp->next;
|
||||
}
|
||||
}
|
||||
return (list);
|
||||
}
|
||||
|
||||
/*
|
||||
** function that print the map in binary if flag p is present
|
||||
** it returns anyway the size of the map for main to print it
|
||||
*/
|
||||
|
||||
int print_binary_map(unsigned int *map, int size, int *dope)
|
||||
{
|
||||
size--;
|
||||
if (dope[2])
|
||||
{
|
||||
ft_putendl("result in binary :");
|
||||
print_sized_map(map, size, size, '#');
|
||||
ft_putchar('\n');
|
||||
}
|
||||
free(map);
|
||||
return (size);
|
||||
}
|
||||
|
||||
/*
|
||||
** function that print the flags usage
|
||||
*/
|
||||
|
||||
int print_flags_usage(void)
|
||||
{
|
||||
ft_putendl("flags usage :");
|
||||
ft_putendl("d : debug print (print the map during the backtracking)");
|
||||
ft_putendl("o : optimisation ultra fast but with some errors still");
|
||||
ft_putendl("p : print the tetri and the map in different formats");
|
||||
ft_putendl("e : error msgs more precise AND no error for too much tetri\n");
|
||||
return (0);
|
||||
}
|
||||
136
f_handle_errors.c
Normal file
136
f_handle_errors.c
Normal file
@@ -0,0 +1,136 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* f_handle_errors.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/03/01 13:29:05 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/06/01 14:49:01 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
** Function that display error message *s on fd and exit program
|
||||
*/
|
||||
|
||||
void print_error(char *str)
|
||||
{
|
||||
write(1, str, ft_strlen(str));
|
||||
exit(0);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that display error message *s on fd with more informations
|
||||
*/
|
||||
|
||||
void print_error_extended(int error, int *dope)
|
||||
{
|
||||
if (!dope[3])
|
||||
print_error("error\n");
|
||||
if (error == 1)
|
||||
print_error("error: File contains char other than '.','#' and '\\n'\n");
|
||||
if (error == 2)
|
||||
print_error("error: File contains two tetriminos not"
|
||||
"separated by a '\\n'\n");
|
||||
if (error == 3)
|
||||
print_error("error: File contains more than 2 '\\n' in a row\n");
|
||||
if (error == 4)
|
||||
print_error("error: File contains less than 1 tetrimino\n");
|
||||
if (error == 5)
|
||||
print_error("error: File contains more than 26 tetriminos\n");
|
||||
if (error == 6)
|
||||
print_error("error: Tetrimino has more or less than 4 #\n");
|
||||
if (error == 7)
|
||||
print_error("error: Tetrimino # are not all connected\n");
|
||||
print_error("error\n");
|
||||
}
|
||||
|
||||
/*
|
||||
** Function to see if there if an error if the file
|
||||
** - less than 4 lines
|
||||
** - more than 104 (26 tetri) + 25 (\n) = 129 lines
|
||||
** - two \n in a row
|
||||
*/
|
||||
|
||||
void check_file_errors(char *file, int *dope)
|
||||
{
|
||||
int i;
|
||||
int line_nbr;
|
||||
|
||||
i = 0;
|
||||
line_nbr = 0;
|
||||
while (file[i])
|
||||
{
|
||||
if (file[i] != '.' && file[i] != '#' && file[i] != '\n')
|
||||
print_error_extended(1, dope);
|
||||
else if (file[i] == '\n')
|
||||
line_nbr++;
|
||||
if (file[i] == '\n' && line_nbr % 5 == 0 && file[i - 1] != '\n')
|
||||
print_error_extended(2, dope);
|
||||
if (file[i] == '\n' && file[i + 1] != '\0' && \
|
||||
file[i + 2] != '.' && file[i + 2] != '#')
|
||||
print_error_extended(3, dope);
|
||||
i++;
|
||||
}
|
||||
if (line_nbr < 4)
|
||||
print_error_extended(4, dope);
|
||||
if (!dope[3] && line_nbr > 129)
|
||||
print_error_extended(5, dope);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that check if tetrimino square contains:
|
||||
** - 4 x #
|
||||
** - 12 x .
|
||||
*/
|
||||
|
||||
int check_tetri_errors(char *tetri)
|
||||
{
|
||||
int i;
|
||||
int htg;
|
||||
int dot;
|
||||
|
||||
i = 0;
|
||||
htg = 0;
|
||||
dot = 0;
|
||||
while (tetri[i])
|
||||
{
|
||||
if (tetri[i] == '#')
|
||||
htg++;
|
||||
else if (tetri[i] == '.')
|
||||
dot++;
|
||||
i++;
|
||||
}
|
||||
if (htg != 4 || dot != 12 || check_tetri_errors_proxy(tetri))
|
||||
return (6 + check_tetri_errors_proxy(tetri));
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that check if 4 # (tetrimino parts) are linked
|
||||
*/
|
||||
|
||||
int check_tetri_errors_proxy(char *tetri)
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
|
||||
i = 0;
|
||||
j = 0;
|
||||
while (tetri[i])
|
||||
{
|
||||
if (i < 19 && tetri[i] == '#' && tetri[i + 1] == '#')
|
||||
j++;
|
||||
if (i > 0 && tetri[i] == '#' && tetri[i - 1] == '#')
|
||||
j++;
|
||||
if (i < 15 && tetri[i] == '#' && tetri[i + 5] == '#')
|
||||
j++;
|
||||
if (i > 4 && tetri[i] == '#' && tetri[i - 5] == '#')
|
||||
j++;
|
||||
i++;
|
||||
}
|
||||
return ((j < 6) ? 1 : 0);
|
||||
}
|
||||
155
f_parse_input.c
Normal file
155
f_parse_input.c
Normal file
@@ -0,0 +1,155 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* parse_input.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/04/15 14:48:14 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/06/01 13:32:38 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
** function that transform a tab of . and # into a binary tab of int
|
||||
*/
|
||||
|
||||
unsigned short tab_to_bin(char line[])
|
||||
{
|
||||
unsigned short tmp;
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
tmp = 0;
|
||||
while (line[i])
|
||||
{
|
||||
tmp <<= 1;
|
||||
if (line[i] == '\n')
|
||||
i++;
|
||||
if (line[i++] == '#')
|
||||
tmp |= 1;
|
||||
}
|
||||
return (tmp);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that take a tetrimino of 4*4
|
||||
** and reduce it to its right size, in binary
|
||||
*/
|
||||
|
||||
unsigned short reduce_tetri(unsigned short tetri, int width)
|
||||
{
|
||||
unsigned int mask;
|
||||
unsigned int tmp;
|
||||
|
||||
mask = ~0u << (32 - width) >> 16;
|
||||
tmp = (mask & tetri);
|
||||
tmp |= ((mask & tetri << 4) >> width);
|
||||
tmp |= ((mask & tetri << 8) >> (2 * width));
|
||||
tmp |= ((mask & tetri << 12) >> (3 * width));
|
||||
return (tmp);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that transforme a tetriminos char* into a short of 16 bites
|
||||
** and then fills it and its reversed into the list
|
||||
**
|
||||
** 1) transforme la ligne de . et # en un short de 0 et 1
|
||||
** 2) cree un mask avec des 1 sur la colonne de droite (#...#...#...#...)
|
||||
** 3) utilise le mask pour trouver la largeur que prend le tetriminos
|
||||
** 4) deplace le tetriminos tout en haut a gauche
|
||||
** (i - list->width = le nombre de colonne vide a gauche)
|
||||
** 5) trouve la hauteur du tetri
|
||||
** 6) fabrique la ligne pour le tetriminos de la bonne largeur
|
||||
**
|
||||
** list->test is used to debug the backtracking, allowing to print the
|
||||
** map each time without the previous tries
|
||||
*/
|
||||
|
||||
void fill_list(char line[], t_fillist *list)
|
||||
{
|
||||
unsigned int mask;
|
||||
int i;
|
||||
|
||||
list->tetribit = tab_to_bin(line);
|
||||
list->memory = 0;
|
||||
mask = (1 << 15) | (1 << 11) | (1 << 7) | (1 << 3);
|
||||
i = 0;
|
||||
while (!(mask & list->tetribit) && i++ < 4)
|
||||
mask >>= 1;
|
||||
list->width = i;
|
||||
while (mask & list->tetribit && ++i < 4)
|
||||
mask >>= 1;
|
||||
list->width = i - list->width;
|
||||
list->tetribit <<= (i - list->width);
|
||||
while (!(list->tetribit & (~0u << 12)))
|
||||
list->tetribit <<= 4;
|
||||
i = 0;
|
||||
while (i < 4 && list->tetribit & (~0u << 28 >> (i * 4 + 16)))
|
||||
i++;
|
||||
list->height = i;
|
||||
list->tetribit = reduce_tetri(list->tetribit, list->width);
|
||||
list->same = NULL;
|
||||
list->test = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that creates the linked list and add a new structure
|
||||
** linked each time needed
|
||||
*/
|
||||
|
||||
int add_to_list(char *line, t_fillist **lst, char letter, int *dope)
|
||||
{
|
||||
t_fillist *tmp;
|
||||
t_fillist *test;
|
||||
|
||||
if (!(tmp = (t_fillist*)malloc(sizeof(*tmp))))
|
||||
return (0);
|
||||
tmp->next = NULL;
|
||||
test = *lst;
|
||||
if (!test)
|
||||
*lst = tmp;
|
||||
else
|
||||
{
|
||||
while (test->next)
|
||||
test = test->next;
|
||||
test->next = tmp;
|
||||
}
|
||||
fill_list(line, tmp);
|
||||
tmp->letter = letter;
|
||||
tmp->dope = dope;
|
||||
tmp->start = *lst;
|
||||
return (1);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that parse a file and put each tetrimino in a linked list
|
||||
*/
|
||||
|
||||
int parse_input(char *input, t_fillist **list, int *dope)
|
||||
{
|
||||
char tetri[20];
|
||||
int i;
|
||||
int j;
|
||||
int letter;
|
||||
int size;
|
||||
|
||||
i = 0;
|
||||
letter = 'A';
|
||||
while (input[i])
|
||||
{
|
||||
j = 0;
|
||||
while (j < 19)
|
||||
tetri[j++] = input[i++];
|
||||
tetri[19] = '\0';
|
||||
if (check_tetri_errors(tetri))
|
||||
print_error_extended(check_tetri_errors(tetri), dope);
|
||||
add_to_list(tetri, list, letter++, dope);
|
||||
while (input[i] && input[i] != '.' && input[i] != '#')
|
||||
i++;
|
||||
}
|
||||
size = search_map(*list);
|
||||
return (size);
|
||||
}
|
||||
121
f_print.c
Normal file
121
f_print.c
Normal file
@@ -0,0 +1,121 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* print.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: hulamy <hulamy@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/04/30 13:24:28 by hulamy #+# #+# */
|
||||
/* Updated: 2019/06/01 13:56:50 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
** function that print a map of height and width
|
||||
** usefull to print tetris
|
||||
*/
|
||||
|
||||
void print_sized_map(unsigned int *tab, int width, int height, char letter)
|
||||
{
|
||||
int i;
|
||||
unsigned int mask;
|
||||
|
||||
i = 0;
|
||||
mask = 0;
|
||||
while (i++ < width)
|
||||
mask = (mask >> 1) | ((mask | 1) << 31);
|
||||
i = 0;
|
||||
while (i < width * height)
|
||||
{
|
||||
if (i && !(i % width))
|
||||
ft_putchar('\n');
|
||||
if (tab[i / 32] & (1 << (31 - i % 32)))
|
||||
ft_put_tetri_color(letter);
|
||||
else
|
||||
ft_putchar('.');
|
||||
ft_putchar(' ');
|
||||
i++;
|
||||
}
|
||||
write(1, "\n", 1);
|
||||
}
|
||||
|
||||
/*
|
||||
** Print the final map with the letters
|
||||
** if flag value is 0 -> print moulinette version
|
||||
** if flag value is 0 -> print in color
|
||||
*/
|
||||
|
||||
char *init_print_map(t_fillist *list, int size)
|
||||
{
|
||||
char *map;
|
||||
int i;
|
||||
int j;
|
||||
|
||||
map = (char *)malloc(sizeof(*map) * (size * size + 1));
|
||||
map[size * size] = '\0';
|
||||
i = -1;
|
||||
while (++i < size * size)
|
||||
map[i] = '.';
|
||||
while (list)
|
||||
{
|
||||
j = 0;
|
||||
i = -1;
|
||||
while (++i < list->width * list->height)
|
||||
{
|
||||
if (i && i % list->width == 0)
|
||||
j += size - list->width;
|
||||
if (1 << (15 - i) & list->tetribit && list->test == 1)
|
||||
map[list->position + i + j - 1] = list->letter;
|
||||
}
|
||||
list = list->next;
|
||||
}
|
||||
return (map);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that print the map with color if flag = 1
|
||||
** or for moulinette if flag = 0;
|
||||
*/
|
||||
|
||||
void print_letter_map(t_fillist *list, int size, int flag)
|
||||
{
|
||||
int i;
|
||||
char *map;
|
||||
|
||||
map = init_print_map(list, size);
|
||||
i = -1;
|
||||
while (++i < size * size)
|
||||
{
|
||||
if (i && i % size == 0)
|
||||
ft_putchar('\n');
|
||||
if (flag == 0)
|
||||
ft_putchar(map[i]);
|
||||
else
|
||||
{
|
||||
ft_put_tetri_color(map[i]);
|
||||
ft_putchar(' ');
|
||||
}
|
||||
}
|
||||
ft_putchar('\n');
|
||||
free(map);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that print the map
|
||||
*/
|
||||
|
||||
void print_final_map(t_fillist *list, int size)
|
||||
{
|
||||
if (list->dope[2])
|
||||
{
|
||||
ft_putendl("result for humans :");
|
||||
print_letter_map(list, size, 1);
|
||||
ft_putchar('\n');
|
||||
ft_putendl("result for moulinette :");
|
||||
}
|
||||
print_letter_map(list, size, 0);
|
||||
if (list->dope[2])
|
||||
ft_putchar('\n');
|
||||
}
|
||||
51
f_print_map_with_colors.c
Normal file
51
f_print_map_with_colors.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* print_map_with_colors.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/05/03 20:27:22 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/06/01 14:27:30 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
void ft_putchar_color(char c, char color)
|
||||
{
|
||||
if (color == 'R')
|
||||
write(1, RED, 5);
|
||||
else if (color == 'B')
|
||||
write(1, BLU, 5);
|
||||
else if (color == 'G')
|
||||
write(1, GRN, 5);
|
||||
else if (color == 'Y')
|
||||
write(1, YEL, 5);
|
||||
else if (color == 'M')
|
||||
write(1, MAG, 5);
|
||||
else if (color == 'C')
|
||||
write(1, CYN, 5);
|
||||
else if (color == 'W' || !c)
|
||||
write(1, RESET, 5);
|
||||
ft_putchar(c);
|
||||
write(1, RESET, 5);
|
||||
}
|
||||
|
||||
void ft_put_tetri_color(char c)
|
||||
{
|
||||
if (c == 'A' || c == 'G' || c == 'M' || c == 'S' || c == 'Y')
|
||||
ft_putchar_color(c, 'R');
|
||||
else if (c == 'B' || c == 'H' || c == 'N' || c == 'T' || c == 'Z')
|
||||
ft_putchar_color(c, 'B');
|
||||
else if (c == 'C' || c == 'I' || c == 'O' || c == 'U')
|
||||
ft_putchar_color(c, 'G');
|
||||
else if (c == 'D' || c == 'J' || c == 'P' || c == 'V')
|
||||
ft_putchar_color(c, 'Y');
|
||||
else if (c == 'E' || c == 'K' || c == 'Q' || c == 'W')
|
||||
ft_putchar_color(c, 'M');
|
||||
else if (c == 'F' || c == 'L' || c == 'R' || c == 'X')
|
||||
ft_putchar_color(c, 'C');
|
||||
else
|
||||
ft_putchar(c);
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/04/13 12:09:46 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/04/15 14:48:36 by vmanzoni ### ########.fr */
|
||||
/* Updated: 2019/06/01 15:12:03 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -18,24 +18,33 @@
|
||||
|
||||
char *read_file(char *file)
|
||||
{
|
||||
char buf[BUFF_SIZE];
|
||||
int fd;
|
||||
int rv;
|
||||
int i;
|
||||
char *result;
|
||||
char buf[BUFF_SIZE];
|
||||
int fd;
|
||||
int rv;
|
||||
int i;
|
||||
char *result;
|
||||
|
||||
if (((fd = open(file, O_RDONLY)) < 0) \
|
||||
|| ((rv = read(fd, &buf, BUFF_SIZE)) < 0) \
|
||||
|| !(result = malloc(sizeof(char) * rv)))
|
||||
|| !(result = malloc(sizeof(char) * rv)))
|
||||
return (NULL);
|
||||
buf[rv] = '\0';
|
||||
i = 0;
|
||||
while (buf[i])
|
||||
{
|
||||
buf[rv - 1] = '\0';
|
||||
i = -1;
|
||||
while (buf[++i])
|
||||
result[i] = buf[i];
|
||||
i++;
|
||||
}
|
||||
result[i] = '\0';
|
||||
close(fd);
|
||||
return (result);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that init num and size for search_map
|
||||
*/
|
||||
|
||||
void init_num_and_size(int num, int *size, t_fillist *tmp)
|
||||
{
|
||||
while ((tmp = tmp->next))
|
||||
num++;
|
||||
while (*size * *size < num * 4)
|
||||
(*size)++;
|
||||
}
|
||||
167
f_search_map.c
Normal file
167
f_search_map.c
Normal file
@@ -0,0 +1,167 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* f_search_map.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: hulamy <hulamy@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/04/27 20:47:22 by hulamy #+# #+# */
|
||||
/* Updated: 2019/06/01 15:12:08 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
** function that look if a tretri fit in a place
|
||||
*/
|
||||
|
||||
unsigned int fit_in_place(unsigned int *map, t_fillist *lst, int sze, int i)
|
||||
{
|
||||
unsigned int tmp;
|
||||
unsigned int mask;
|
||||
unsigned int tetri;
|
||||
int n;
|
||||
int r;
|
||||
|
||||
n = lst->num;
|
||||
r = lst->rank;
|
||||
i = lst->height;
|
||||
tetri = lst->tetribit << 16 >> lst->width;
|
||||
tmp = 0;
|
||||
mask = ~0u << (32 - lst->width);
|
||||
while (i--)
|
||||
{
|
||||
if (tmp & tetri)
|
||||
return (0);
|
||||
if (r >= 32 && ++n)
|
||||
r -= 32;
|
||||
tmp = (mask & (map[n] << r));
|
||||
if (n + 1 < lst->total_num)
|
||||
tmp |= (mask & (map[n + 1] >> (32 - r)));
|
||||
tetri <<= lst->width;
|
||||
r += sze;
|
||||
}
|
||||
return (!(tmp & tetri));
|
||||
}
|
||||
|
||||
/*
|
||||
** function that look for the first place in the map for a tetri
|
||||
*/
|
||||
|
||||
int find_place(unsigned int *map, t_fillist *list, int size)
|
||||
{
|
||||
int limit;
|
||||
int pos;
|
||||
|
||||
pos = list->position;
|
||||
list->place = pos % size;
|
||||
list->rank = pos % 32;
|
||||
list->num = pos / 32;
|
||||
limit = (size - list->height + 1) * size;
|
||||
while (pos < limit)
|
||||
{
|
||||
if (list->rank >= 32 && ++list->num)
|
||||
list->rank -= 32;
|
||||
if (list->place > size - list->width)
|
||||
{
|
||||
list->place = -1;
|
||||
pos += list->width - 2;
|
||||
list->rank += list->width - 2;
|
||||
}
|
||||
else if (fit_in_place(map, list, size, 0))
|
||||
return ((list->position = pos + 1));
|
||||
pos++;
|
||||
list->place++;
|
||||
list->rank++;
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
** function that add or remove a tetri on the map
|
||||
*/
|
||||
|
||||
void add_remove(unsigned int *map, t_fillist *list, int size)
|
||||
{
|
||||
unsigned int msk;
|
||||
unsigned short tetri;
|
||||
int i;
|
||||
int j;
|
||||
|
||||
tetri = list->tetribit;
|
||||
msk = ~0u << (32 - list->width);
|
||||
i = (list->height - 1) * list->width;
|
||||
j = (list->height - 1) * size + list->position;
|
||||
while (j >= list->position)
|
||||
{
|
||||
map[(j - 1) / 32] ^= (msk & tetri << (16 + i)) >> (j - 1);
|
||||
if ((j - 1) / 32 + 1 < list->total_num)
|
||||
map[(j - 1) / 32 + 1] ^= (msk & tetri << (16 + i)) << (32 - j) << 1;
|
||||
j -= size;
|
||||
i -= list->width;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that recursively try to fill the map with the tetris
|
||||
*/
|
||||
|
||||
int fill_map(unsigned int *map, t_fillist *list, int size)
|
||||
{
|
||||
if (!list)
|
||||
return (1);
|
||||
list->position = 0;
|
||||
while (find_place(map, list, size))
|
||||
{
|
||||
add_remove(map, list, size);
|
||||
list->test = 1;
|
||||
if (list->dope[0])
|
||||
{
|
||||
print_letter_map(list->start, size, 1);
|
||||
ft_putchar('\n');
|
||||
}
|
||||
if (list->dope[1])
|
||||
if (check_tetri_memory(list, list->position))
|
||||
if (fill_map(map, list->next, size))
|
||||
return (1);
|
||||
if (!list->dope[1])
|
||||
if (fill_map(map, list->next, size))
|
||||
return (1);
|
||||
add_remove(map, list, size);
|
||||
list->test = 0;
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that send to "fill_map" a map of a certain size
|
||||
** and increment its size untill it's solved
|
||||
*/
|
||||
|
||||
int search_map(t_fillist *list)
|
||||
{
|
||||
t_fillist *tmp;
|
||||
unsigned int *map;
|
||||
int size;
|
||||
int num;
|
||||
int i;
|
||||
|
||||
size = 2;
|
||||
tmp = print_tetri(list);
|
||||
init_num_and_size(1, &size, tmp);
|
||||
i = 0;
|
||||
while (!i)
|
||||
{
|
||||
num = (size * size) / 32 + 1;
|
||||
if (!(map = (unsigned int *)malloc(sizeof(*map) * num)))
|
||||
return (0);
|
||||
check_same_tetri(list, num);
|
||||
while (num--)
|
||||
map[num] = 0;
|
||||
i = fill_map(map, list, size++);
|
||||
if (!i)
|
||||
free(map);
|
||||
}
|
||||
return (print_binary_map(map, size, list->dope));
|
||||
}
|
||||
20
fillit.dSYM/Contents/Info.plist
Normal file
20
fillit.dSYM/Contents/Info.plist
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.apple.xcode.dsym.fillit</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>dSYM</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
139
fillit.h
139
fillit.h
@@ -6,47 +6,138 @@
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/03/01 13:34:46 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/04/15 20:53:57 by vmanzoni ### ########.fr */
|
||||
/* Updated: 2019/06/01 15:12:00 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#ifndef FILLIT_H
|
||||
# define FILLIT_H
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h> // for system call write
|
||||
#include <fcntl.h> // for system call open
|
||||
#include <string.h> // for memmove and strlen
|
||||
#include <stdio.h> // for debug printf
|
||||
#include <stdbool.h> // to use bool type
|
||||
# include <stdlib.h>
|
||||
# include <unistd.h>
|
||||
# include <fcntl.h>
|
||||
# include <stdbool.h>
|
||||
|
||||
# include "libft/includes/libft.h"
|
||||
|
||||
/*
|
||||
** DEFINE
|
||||
*/
|
||||
|
||||
# define BUFF_SIZE 1024
|
||||
|
||||
# define RED "\x1B[31m"
|
||||
# define GRN "\x1B[32m"
|
||||
# define YEL "\x1B[33m"
|
||||
# define BLU "\x1B[34m"
|
||||
# define MAG "\x1B[35m"
|
||||
# define CYN "\x1B[36m"
|
||||
# define RESET "\x1B[0m"
|
||||
|
||||
/*
|
||||
** STRUCTURE
|
||||
** tetribit : tetri ecrit en binaire dans un short de 16 bits
|
||||
** width : largeur du tetri
|
||||
** height : hauteur du tetri
|
||||
** position : memorise la position d tetri bit a bit
|
||||
** place : position sur l'axe des abscisses de la map (position % size)
|
||||
** rank : position de 1 a 32 dans l'int du tableau d'int (position % 32)
|
||||
** num : memorise dans quel int du tableau on se trouve (position / 32)
|
||||
** test :
|
||||
** letter : letter of the tetrimino for printing final map
|
||||
** dope : flags for details, optimisation, printing and error
|
||||
** memory : positions already tested by a tetrimino in bitwise
|
||||
** same : pointer to previous identical tetrimino
|
||||
** next : pointer to next tetrimino
|
||||
** start : pointer to first tetrimino of input file
|
||||
*/
|
||||
|
||||
typedef struct s_fillist
|
||||
typedef struct s_fillist
|
||||
{
|
||||
int id;
|
||||
char **tetraminos;
|
||||
int position[2];
|
||||
int size[2];
|
||||
int area;
|
||||
unsigned short tetribit;
|
||||
int width;
|
||||
int height;
|
||||
int position;
|
||||
int place;
|
||||
int rank;
|
||||
int num;
|
||||
int total_num;
|
||||
int test;
|
||||
char letter;
|
||||
int *dope;
|
||||
unsigned int *memory;
|
||||
struct s_fillist *same;
|
||||
struct s_fillist *next;
|
||||
} t_fillist;
|
||||
struct s_fillist *start;
|
||||
} t_fillist;
|
||||
|
||||
/*
|
||||
** FUNCTIONS
|
||||
** bonus_opti.c
|
||||
*/
|
||||
int check_tetri_memory(t_fillist *list, int pos);
|
||||
int compare_tetri(t_fillist *tetri_a, t_fillist *tetri_b);
|
||||
t_fillist *clean_list_memory(t_fillist *list, t_fillist *tmp);
|
||||
int check_same_tetri(t_fillist *list, int num);
|
||||
|
||||
void print_test(char *test); //DELETE BEFORE EVALUATION
|
||||
char *read_file(char *file);
|
||||
void print_error(char *s);
|
||||
void parse_input(char *input);
|
||||
int check_file_errors(char *file);
|
||||
int check_tetri_errors(char *tetri);
|
||||
int check_tetri_errors2(char *tetri);
|
||||
int add_to_list(char **square, t_fillist **list);
|
||||
/*
|
||||
** bonus_print.c
|
||||
*/
|
||||
t_fillist *print_tetri(t_fillist *list);
|
||||
int print_binary_map(unsigned int *map, int size, int *dope);
|
||||
int print_flags_usage(void);
|
||||
|
||||
/*
|
||||
** main.c
|
||||
*/
|
||||
int *create_dope(char *av, int mdp);
|
||||
int is_mdp(int ac, char **av);
|
||||
void clean_list(t_fillist *list, t_fillist *tmp);
|
||||
int main(int argc, char **argv);
|
||||
|
||||
/*
|
||||
** read_file.c
|
||||
*/
|
||||
char *read_file(char *file);
|
||||
void init_num_and_size(int num, int *size, t_fillist *tmp);
|
||||
|
||||
/*
|
||||
** handle_errors.c
|
||||
*/
|
||||
void print_error(char *s);
|
||||
void print_error_extended(int error, int *dope);
|
||||
void check_file_errors(char *file, int *dope);
|
||||
int check_tetri_errors(char *tetri);
|
||||
int check_tetri_errors_proxy(char *tetri);
|
||||
|
||||
/*
|
||||
** parse_input.c
|
||||
*/
|
||||
unsigned short tab_to_bin(char line[]);
|
||||
unsigned short reduce_tetri(unsigned short tetri, int width);
|
||||
void fill_list(char line[], t_fillist *list);
|
||||
int add_to_list(char *sqr, t_fillist **lst, char lett, int *dope);
|
||||
int parse_input(char *input, t_fillist **list, int *dope);
|
||||
|
||||
/*
|
||||
** search_map.c
|
||||
*/
|
||||
unsigned int fit_in_place(unsigned int *map, t_fillist *lst, int siz, int i);
|
||||
int find_place(unsigned int *map, t_fillist *list, int size);
|
||||
void add_remove(unsigned int *map, t_fillist *list, int size);
|
||||
int fill_map(unsigned int *map, t_fillist *list, int size);
|
||||
int search_map(t_fillist *list);
|
||||
|
||||
/*
|
||||
** print.c
|
||||
*/
|
||||
void print_sized_map(unsigned int *tab, int wdth, int hgt, char ltr);
|
||||
char *init_print_map(t_fillist *list, int size);
|
||||
void print_letter_map(t_fillist *list, int size, int flag);
|
||||
void print_final_map(t_fillist *list, int size);
|
||||
|
||||
/*
|
||||
** print_map_with_colors.c
|
||||
*/
|
||||
void ft_putchar_color(char c, char color);
|
||||
void ft_put_tetri_color(char c);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* get_smallest_square.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/04/12 22:29:45 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/04/14 21:37:19 by vmanzoni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
char *get_smallest_square()
|
||||
{
|
||||
|
||||
}
|
||||
*/
|
||||
103
handle_errors.c
103
handle_errors.c
@@ -1,103 +0,0 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* handle_errors.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/03/01 13:29:05 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/04/15 14:41:19 by vmanzoni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
** Function that display error message *s on fd and exit program
|
||||
*/
|
||||
|
||||
void print_error(char *s)
|
||||
{
|
||||
write(2, s, strlen(s));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function to see if there if an error if the file
|
||||
** - less than 4 lines
|
||||
** - more than 104 (26 tetri) + 25 (\n) = 129 lines
|
||||
** - two \n in a row
|
||||
*/
|
||||
|
||||
int check_file_errors(char *file)
|
||||
{
|
||||
int i;
|
||||
int line_nbr;
|
||||
|
||||
i = 0;
|
||||
line_nbr = 0;
|
||||
while (file[i])
|
||||
{
|
||||
if (file[i] != '.' && file[i] != '#' && file[i] != '\n')
|
||||
return (1);
|
||||
if (file[i] == '\n')
|
||||
line_nbr++;
|
||||
if (file[i] == '\n' && file[i+1] != '\0' && \
|
||||
file[i+2] != '.' && file[i+2] != '#')
|
||||
return (1);
|
||||
i++;
|
||||
}
|
||||
if (line_nbr < 4 || line_nbr > 129)
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that check if tetrimino square contains:
|
||||
** - 4 '#'
|
||||
** - 12 '.'
|
||||
*/
|
||||
|
||||
int check_tetri_errors(char *tetri)
|
||||
{
|
||||
int i;
|
||||
int htg;
|
||||
int dot;
|
||||
|
||||
i = 0;
|
||||
htg = 0;
|
||||
dot = 0;
|
||||
while (tetri[i])
|
||||
{
|
||||
if (tetri[i] == '#')
|
||||
htg++;
|
||||
else if (tetri[i] == '.')
|
||||
dot++;
|
||||
i++;
|
||||
}
|
||||
if (htg != 4 || dot != 12 || check_tetri_errors2(tetri))
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that check if tetrimino parts are linked
|
||||
*/
|
||||
|
||||
int check_tetri_errors2(char *tetri)
|
||||
{
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
while (tetri[i])
|
||||
{
|
||||
if (tetri[i] == '.' || tetri[i] == '\n')
|
||||
i++;
|
||||
else if (tetri[i] == '#' && (tetri[i + 1] == '#' || tetri[i - 1] == '#'
|
||||
|| tetri[i + 5] == '#' || tetri[i - 5] == '#'))
|
||||
i++;
|
||||
else
|
||||
return (1);
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
1
libft
1
libft
Submodule libft deleted from dad20d5d96
113
main.c
113
main.c
@@ -6,32 +6,109 @@
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/02/12 13:20:48 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/04/15 20:54:24 by vmanzoni ### ########.fr */
|
||||
/* Updated: 2019/06/01 14:40:58 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
char *input;
|
||||
/*
|
||||
** Function that put the flags for bonus into a tab of int
|
||||
**
|
||||
** d : debug print (print the map during the backtracking)
|
||||
** o : optimisation ultra fast but with some errors still
|
||||
** p : print extended (print the tetri and the map in different formats)
|
||||
** e : error extended (message more precise AND no error if too much tetri)
|
||||
*/
|
||||
|
||||
if (argc == 2)
|
||||
int *create_dope(char *av, int mdp)
|
||||
{
|
||||
char *comp;
|
||||
int *dope;
|
||||
int i;
|
||||
int j;
|
||||
|
||||
comp = "dope";
|
||||
if (!(dope = (int*)malloc(sizeof(*dope) * 4)))
|
||||
return (NULL);
|
||||
i = 0;
|
||||
while (i < 4)
|
||||
dope[i++] = 0;
|
||||
if (!mdp)
|
||||
return (dope);
|
||||
i = -1;
|
||||
while (++i < 4 && (j = -1))
|
||||
while (av[++j])
|
||||
if (comp[i] == av[j])
|
||||
dope[i] = 1;
|
||||
return (dope);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that check if the password is good to unlock the flags
|
||||
*/
|
||||
|
||||
int is_mdp(int ac, char **av)
|
||||
{
|
||||
char *mdp;
|
||||
int i;
|
||||
|
||||
if (ac < 3 || ac > 4)
|
||||
return (0);
|
||||
mdp = "trompette";
|
||||
i = 0;
|
||||
while (av[2][i] && mdp[i] && mdp[i] == av[2][i])
|
||||
i++;
|
||||
if (av[2][i] || mdp[i])
|
||||
return (0);
|
||||
if (ac == 3)
|
||||
return (print_flags_usage());
|
||||
return (1);
|
||||
}
|
||||
|
||||
/*
|
||||
** Function that free the list
|
||||
*/
|
||||
|
||||
void clean_list(t_fillist *list, t_fillist *tmp)
|
||||
{
|
||||
tmp = list;
|
||||
while (list)
|
||||
{
|
||||
if (!(input = read_file(argv[1])))
|
||||
print_error("Error: Could not read file.\n");
|
||||
if (check_file_errors(input))
|
||||
print_error("Error: Invalid file.\n");
|
||||
parse_input(input);
|
||||
/*
|
||||
Transform input to tetriminos
|
||||
Backtracking for smallest square
|
||||
Transform tetriminos with letters
|
||||
Print result
|
||||
*/
|
||||
//print_test(input);
|
||||
list = tmp->next;
|
||||
free(tmp->memory);
|
||||
free(tmp);
|
||||
tmp = list;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Main function
|
||||
*/
|
||||
|
||||
int main(int ac, char **av)
|
||||
{
|
||||
t_fillist *list;
|
||||
char *input;
|
||||
int *dope;
|
||||
int size;
|
||||
int mdp;
|
||||
|
||||
list = NULL;
|
||||
mdp = is_mdp(ac, av);
|
||||
dope = create_dope(av[3], mdp);
|
||||
if (ac == 2 || mdp)
|
||||
{
|
||||
if (!(input = read_file(av[1])))
|
||||
print_error(dope[3] ? "error: Could not read file.\n" : "error\n");
|
||||
check_file_errors(input, dope);
|
||||
size = parse_input(input, &list, dope);
|
||||
print_final_map(list, size);
|
||||
free(input);
|
||||
clean_list(list, list);
|
||||
}
|
||||
else
|
||||
print_error("Usage: Please submit a file.\n");
|
||||
print_error("usage: Please submit a file.\n> ./fillit file.fillit\n");
|
||||
free(dope);
|
||||
return (0);
|
||||
}
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* parse_input.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/04/15 14:48:14 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/04/16 15:28:11 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
** Function that parse a file and put each tetrimino in a linked list
|
||||
*/
|
||||
|
||||
char **create_square(char *tetri)
|
||||
{
|
||||
char **square;
|
||||
int i;
|
||||
int k;
|
||||
|
||||
i = 0;
|
||||
if (!(square = (char**)malloc(sizeof(*square) * 4)))
|
||||
return (NULL);
|
||||
while (*tetri && (k = -1))
|
||||
{
|
||||
if (!(square[i] = (char*)malloc(sizeof(**square) * (4 + 1))))
|
||||
return (NULL);
|
||||
square[i][4] = '\0';
|
||||
while (++k < 4)
|
||||
square[i][k] = *(tetri++);
|
||||
while (*tetri == '\n')
|
||||
tetri++;
|
||||
// printf("%s\n", square[i]);
|
||||
i++;
|
||||
}
|
||||
return (square);
|
||||
}
|
||||
|
||||
void parse_input(char *input)
|
||||
{
|
||||
static t_fillist *list = NULL;
|
||||
char tetri[20];
|
||||
int i;
|
||||
int j;
|
||||
char **test;
|
||||
|
||||
i = 0;
|
||||
while (input[i])
|
||||
{
|
||||
j = 0;
|
||||
while (j < 19)
|
||||
tetri[j++] = input[i++];
|
||||
tetri[19] = '\0';
|
||||
//printf("PRINT:\n%s\n", tetri);
|
||||
if (check_tetri_errors(tetri))
|
||||
print_error("Error: Tetrimino not valid.");
|
||||
test = create_square(tetri);
|
||||
add_to_list(test, &list);
|
||||
while (input[i] == '\n')
|
||||
i++;
|
||||
}
|
||||
/*
|
||||
** ce qui suit sert juste a afficher le contenu de tous les tetraminos de la liste chainee
|
||||
** pour debug, a effacer au rendu
|
||||
*/
|
||||
while (list && (i = -1))
|
||||
{
|
||||
while (++i < list->size[1])
|
||||
printf("%s\n", list->tetraminos[i]);
|
||||
printf("\n");
|
||||
list = list->next;
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* print_fillit.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/03/01 13:35:48 by vmanzoni #+# #+# */
|
||||
/* Updated: 2019/04/15 00:11:22 by hulamy ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "fillit.h"
|
||||
|
||||
/*
|
||||
void ft_print_fillit()
|
||||
{
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
void print_test(char *test)
|
||||
{
|
||||
write(1, test, strlen(test));
|
||||
}
|
||||
79
samples/16square
Normal file
79
samples/16square
Normal file
@@ -0,0 +1,79 @@
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
4
samples/1full
Normal file
4
samples/1full
Normal file
@@ -0,0 +1,4 @@
|
||||
####
|
||||
####
|
||||
####
|
||||
####
|
||||
@@ -1,4 +1,4 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
#...
|
||||
#...
|
||||
#...
|
||||
#...
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###.
|
||||
.#..
|
||||
....
|
||||
....
|
||||
....
|
||||
####
|
||||
4
samples/1tetri_wrong
Normal file
4
samples/1tetri_wrong
Normal file
@@ -0,0 +1,4 @@
|
||||
#...
|
||||
.#..
|
||||
#...
|
||||
#...
|
||||
129
samples/26square
Normal file
129
samples/26square
Normal file
@@ -0,0 +1,129 @@
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
9
samples/2tetri
Normal file
9
samples/2tetri
Normal file
@@ -0,0 +1,9 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
14
samples/3tetri
Normal file
14
samples/3tetri
Normal file
@@ -0,0 +1,14 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
.#..
|
||||
....
|
||||
14
samples/3tetribis
Normal file
14
samples/3tetribis
Normal file
@@ -0,0 +1,14 @@
|
||||
....
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
###.
|
||||
..#.
|
||||
....
|
||||
19
samples/4square
Normal file
19
samples/4square
Normal file
@@ -0,0 +1,19 @@
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
19
samples/4tetri
Normal file
19
samples/4tetri
Normal file
@@ -0,0 +1,19 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
19
samples/4tetribis
Normal file
19
samples/4tetribis
Normal file
@@ -0,0 +1,19 @@
|
||||
....
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
###.
|
||||
..#.
|
||||
....
|
||||
|
||||
....
|
||||
.##.
|
||||
.##.
|
||||
....
|
||||
24
samples/5square
Normal file
24
samples/5square
Normal file
@@ -0,0 +1,24 @@
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
44
samples/9square
Normal file
44
samples/9square
Normal file
@@ -0,0 +1,44 @@
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
89
samples/debug/jdugoudr
Normal file
89
samples/debug/jdugoudr
Normal file
@@ -0,0 +1,89 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr1
Normal file
84
samples/debug/jdugoudr1
Normal file
@@ -0,0 +1,84 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr10
Normal file
84
samples/debug/jdugoudr10
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr11
Normal file
84
samples/debug/jdugoudr11
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr12
Normal file
84
samples/debug/jdugoudr12
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr13
Normal file
84
samples/debug/jdugoudr13
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr14
Normal file
84
samples/debug/jdugoudr14
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr15
Normal file
84
samples/debug/jdugoudr15
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr16
Normal file
84
samples/debug/jdugoudr16
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr17
Normal file
84
samples/debug/jdugoudr17
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr18
Normal file
79
samples/debug/jdugoudr18
Normal file
@@ -0,0 +1,79 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
79
samples/debug/jdugoudr18_17
Normal file
79
samples/debug/jdugoudr18_17
Normal file
@@ -0,0 +1,79 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
74
samples/debug/jdugoudr18_17_16
Normal file
74
samples/debug/jdugoudr18_17_16
Normal file
@@ -0,0 +1,74 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
69
samples/debug/jdugoudr18_17_16_15
Normal file
69
samples/debug/jdugoudr18_17_16_15
Normal file
@@ -0,0 +1,69 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
64
samples/debug/jdugoudr18_17_16_15_14
Normal file
64
samples/debug/jdugoudr18_17_16_15_14
Normal file
@@ -0,0 +1,64 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
59
samples/debug/jdugoudr18_17_16_15_14_13
Normal file
59
samples/debug/jdugoudr18_17_16_15_14_13
Normal file
@@ -0,0 +1,59 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
54
samples/debug/jdugoudr18_17_16_15_14_13_12
Normal file
54
samples/debug/jdugoudr18_17_16_15_14_13_12
Normal file
@@ -0,0 +1,54 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
49
samples/debug/jdugoudr18_17_16_15_14_13_12_11
Normal file
49
samples/debug/jdugoudr18_17_16_15_14_13_12_11
Normal file
@@ -0,0 +1,49 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
44
samples/debug/jdugoudr18_17_16_15_14_13_12_11_10
Normal file
44
samples/debug/jdugoudr18_17_16_15_14_13_12_11_10
Normal file
@@ -0,0 +1,44 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_10
Normal file
79
samples/debug/jdugoudr1_10
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_11
Normal file
79
samples/debug/jdugoudr1_11
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_12
Normal file
79
samples/debug/jdugoudr1_12
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_13
Normal file
79
samples/debug/jdugoudr1_13
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_14
Normal file
79
samples/debug/jdugoudr1_14
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_15
Normal file
79
samples/debug/jdugoudr1_15
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_16
Normal file
79
samples/debug/jdugoudr1_16
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_17
Normal file
79
samples/debug/jdugoudr1_17
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_18
Normal file
79
samples/debug/jdugoudr1_18
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
79
samples/debug/jdugoudr1_2
Normal file
79
samples/debug/jdugoudr1_2
Normal file
@@ -0,0 +1,79 @@
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
74
samples/debug/jdugoudr1_2_3
Normal file
74
samples/debug/jdugoudr1_2_3
Normal file
@@ -0,0 +1,74 @@
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
69
samples/debug/jdugoudr1_2_3_4
Normal file
69
samples/debug/jdugoudr1_2_3_4
Normal file
@@ -0,0 +1,69 @@
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
64
samples/debug/jdugoudr1_2_3_4_5
Normal file
64
samples/debug/jdugoudr1_2_3_4_5
Normal file
@@ -0,0 +1,64 @@
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
59
samples/debug/jdugoudr1_2_3_4_5_6
Normal file
59
samples/debug/jdugoudr1_2_3_4_5_6
Normal file
@@ -0,0 +1,59 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
54
samples/debug/jdugoudr1_2_3_4_5_6_7
Normal file
54
samples/debug/jdugoudr1_2_3_4_5_6_7
Normal file
@@ -0,0 +1,54 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
49
samples/debug/jdugoudr1_2_3_4_5_6_7_8
Normal file
49
samples/debug/jdugoudr1_2_3_4_5_6_7_8
Normal file
@@ -0,0 +1,49 @@
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
44
samples/debug/jdugoudr1_2_3_4_5_6_7_8_9
Normal file
44
samples/debug/jdugoudr1_2_3_4_5_6_7_8_9
Normal file
@@ -0,0 +1,44 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
39
samples/debug/jdugoudr1_2_3_4_5_6_7_8_9_10
Normal file
39
samples/debug/jdugoudr1_2_3_4_5_6_7_8_9_10
Normal file
@@ -0,0 +1,39 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_3
Normal file
79
samples/debug/jdugoudr1_3
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_4
Normal file
79
samples/debug/jdugoudr1_4
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_5
Normal file
79
samples/debug/jdugoudr1_5
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_6
Normal file
79
samples/debug/jdugoudr1_6
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_7
Normal file
79
samples/debug/jdugoudr1_7
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_8
Normal file
79
samples/debug/jdugoudr1_8
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
79
samples/debug/jdugoudr1_9
Normal file
79
samples/debug/jdugoudr1_9
Normal file
@@ -0,0 +1,79 @@
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr2
Normal file
84
samples/debug/jdugoudr2
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr3
Normal file
84
samples/debug/jdugoudr3
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr4
Normal file
84
samples/debug/jdugoudr4
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr5
Normal file
84
samples/debug/jdugoudr5
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr6
Normal file
84
samples/debug/jdugoudr6
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr7
Normal file
84
samples/debug/jdugoudr7
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr8
Normal file
84
samples/debug/jdugoudr8
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
84
samples/debug/jdugoudr9
Normal file
84
samples/debug/jdugoudr9
Normal file
@@ -0,0 +1,84 @@
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
|
||||
.##.
|
||||
##..
|
||||
....
|
||||
....
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
...#
|
||||
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
....
|
||||
|
||||
....
|
||||
###.
|
||||
#...
|
||||
....
|
||||
@@ -111,4 +111,4 @@
|
||||
....
|
||||
....
|
||||
####
|
||||
....iskjdslkfsljklfdjk
|
||||
....i
|
||||
|
||||
8
samples/error1
Normal file
8
samples/error1
Normal file
@@ -0,0 +1,8 @@
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
####
|
||||
....
|
||||
....
|
||||
....
|
||||
9
samples/error2
Normal file
9
samples/error2
Normal file
@@ -0,0 +1,9 @@
|
||||
.#..
|
||||
.##.
|
||||
..#.
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
..#.
|
||||
..#.
|
||||
49
samples/map_hard
Normal file
49
samples/map_hard
Normal file
@@ -0,0 +1,49 @@
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
#...
|
||||
###.
|
||||
....
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
##..
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
#...
|
||||
###.
|
||||
....
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
##..
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
#...
|
||||
###.
|
||||
....
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
##..
|
||||
....
|
||||
99
samples/map_slack
Normal file
99
samples/map_slack
Normal file
@@ -0,0 +1,99 @@
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
#...
|
||||
###.
|
||||
....
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
##..
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
#...
|
||||
###.
|
||||
....
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
##..
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
#...
|
||||
###.
|
||||
....
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
##..
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
#...
|
||||
###.
|
||||
....
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
##..
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
|
||||
#...
|
||||
###.
|
||||
....
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
##..
|
||||
....
|
||||
|
||||
...#
|
||||
...#
|
||||
..##
|
||||
....
|
||||
14
samples/opti_test
Normal file
14
samples/opti_test
Normal file
@@ -0,0 +1,14 @@
|
||||
...#
|
||||
.###
|
||||
....
|
||||
....
|
||||
|
||||
....
|
||||
#...
|
||||
##..
|
||||
.#..
|
||||
|
||||
##..
|
||||
.##.
|
||||
....
|
||||
....
|
||||
19
samples/test_a
Normal file
19
samples/test_a
Normal file
@@ -0,0 +1,19 @@
|
||||
....
|
||||
....
|
||||
#...
|
||||
###.
|
||||
|
||||
..#.
|
||||
..#.
|
||||
.##.
|
||||
....
|
||||
|
||||
.#..
|
||||
.#..
|
||||
.#..
|
||||
.#..
|
||||
|
||||
##..
|
||||
##..
|
||||
....
|
||||
....
|
||||
4
samples/test_bug
Normal file
4
samples/test_bug
Normal file
@@ -0,0 +1,4 @@
|
||||
#...
|
||||
###.
|
||||
....
|
||||
....
|
||||
19
samples/test_opti
Normal file
19
samples/test_opti
Normal file
@@ -0,0 +1,19 @@
|
||||
..#.
|
||||
..#.
|
||||
..##
|
||||
....
|
||||
|
||||
....
|
||||
.##.
|
||||
.##.
|
||||
....
|
||||
|
||||
..#.
|
||||
..#.
|
||||
..##
|
||||
....
|
||||
|
||||
..#.
|
||||
..#.
|
||||
..##
|
||||
....
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user