Ajouter un enemi et réorganiser le code pour la norme
This commit is contained in:
parent
6b216f73b1
commit
191fba3a12
6
Makefile
6
Makefile
|
@ -11,11 +11,11 @@
|
|||
# **************************************************************************** #
|
||||
|
||||
GNL = get_next_line/get_next_line.c get_next_line/get_next_line_utils.c
|
||||
SRCS = so_long.c ${GNL}
|
||||
SRCS = games/init.c games/map.c games/player.c games/position.c games/quit.c games/render.c ${GNL}
|
||||
OBJS = ${SRCS:.c=.o}
|
||||
LIBS = libft/libft.a minilibx-linux/libmlx.a
|
||||
CC = clang
|
||||
CFLAGS = -g -Wall -Wextra -Werror
|
||||
CFLAGS = -gdwarf-4 -g -Wall -Wextra -Werror
|
||||
NAME = so_long
|
||||
|
||||
# PENSER ENLEVER -G
|
||||
|
@ -25,7 +25,7 @@ all: ${NAME}
|
|||
${NAME}: ${OBJS}
|
||||
make -C libft
|
||||
make -C minilibx-linux
|
||||
${CC} ${CFLAGS} -o ${NAME} ${OBJS} ${LIBS} -lXext -lX11
|
||||
${CC} ${CFLAGS} -o ${NAME} ${OBJS} ${LIBS} -lm -lXext -lX11
|
||||
|
||||
%.o:%.c
|
||||
${CC} ${CFLAGS} -c -o $@ $<
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 602 B |
|
@ -1,68 +0,0 @@
|
|||
/* XPM */
|
||||
static char * background_64_xpm[] = {
|
||||
"64 64 1 1",
|
||||
" c #000000",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
Binary file not shown.
Before Width: | Height: | Size: 938 B |
5856
assets/collectible_0.xpm
Normal file
5856
assets/collectible_0.xpm
Normal file
File diff suppressed because it is too large
Load diff
4891
assets/collectible_1.xpm
Normal file
4891
assets/collectible_1.xpm
Normal file
File diff suppressed because it is too large
Load diff
3474
assets/collectible_2.xpm
Normal file
3474
assets/collectible_2.xpm
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,85 +0,0 @@
|
|||
/* XPM */
|
||||
static char * collectible_64_xpm[] = {
|
||||
"64 64 18 1",
|
||||
" c #000000",
|
||||
". c #002600",
|
||||
"+ c #013A00",
|
||||
"@ c #013700",
|
||||
"# c #014400",
|
||||
"$ c #09B700",
|
||||
"% c #0DDC00",
|
||||
"& c #10F800",
|
||||
"* c #10F600",
|
||||
"= c #0ABD00",
|
||||
"- c #058D00",
|
||||
"; c #09BA00",
|
||||
"> c #11FD00",
|
||||
", c #11FB00",
|
||||
"' c #10F900",
|
||||
") c #059100",
|
||||
"! c #0DDA00",
|
||||
"~ c #0DD900",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" .+++++@ ",
|
||||
" #$%&&&&&*=-. ",
|
||||
" @;*>>>>>>>>>,%- ",
|
||||
" -%>>>>>>>>>>>>>';@ ",
|
||||
" )'>>>>>>>>>>>>>>>>!@ ",
|
||||
" #*>>>>>>>>>>>>>>>>>>; ",
|
||||
" .~>>>>>>>>>>>>>>>>>>>'- ",
|
||||
" -,>>>>>>>>>>>>>>>>>>>>%. ",
|
||||
" .%>>>>>>>>>>>>>>>>>>>>>,- ",
|
||||
" #'>>>>>>>>>>>>>>>>>>>>>>= ",
|
||||
" $>>>>>>>>>>>>>>>>>>>>>>>*@ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" -,>>>>>>>>>>>>>>>>>>>>>>%. ",
|
||||
" @*>>>>>>>>>>>>>>>>>>>>>>$ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>*# ",
|
||||
" #*>>>>>>>>>>>>>>>>>>>>; ",
|
||||
" ),>>>>>>>>>>>>>>>>>>%@ ",
|
||||
" .~>>>>>>>>>>>>>>>>>'- ",
|
||||
" @~,>>>>>>>>>>>>>>*) ",
|
||||
" .)*>>>>>>>>>>>,~# ",
|
||||
" #;*,>>>>>>'%-. ",
|
||||
" @-;;;;;$#. ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
BIN
assets/enemy.png
BIN
assets/enemy.png
Binary file not shown.
Before Width: | Height: | Size: 900 B |
|
@ -1,86 +0,0 @@
|
|||
/* XPM */
|
||||
static char * enemy_64_xpm[] = {
|
||||
"64 64 19 1",
|
||||
" c #000000",
|
||||
". c #260000",
|
||||
"+ c #3B0000",
|
||||
"@ c #380000",
|
||||
"# c #450000",
|
||||
"$ c #B90000",
|
||||
"% c #DE0000",
|
||||
"& c #FA0000",
|
||||
"* c #F80000",
|
||||
"= c #BE0000",
|
||||
"- c #8E0000",
|
||||
"; c #BB0000",
|
||||
"> c #FF0000",
|
||||
", c #FD0000",
|
||||
"' c #FB0000",
|
||||
") c #920000",
|
||||
"! c #DC0000",
|
||||
"~ c #DB0000",
|
||||
"{ c #930000",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" .+++++@ ",
|
||||
" #$%&&&&&*=-. ",
|
||||
" @;*>>>>>>>>>,%- ",
|
||||
" -%>>>>>>>>>>>>>';@ ",
|
||||
" )'>>>>>>>>>>>>>>>>!@ ",
|
||||
" #*>>>>>>>>>>>>>>>>>>; ",
|
||||
" .~>>>>>>>>>>>>>>>>>>>'- ",
|
||||
" -,>>>>>>>>>>>>>>>>>>>>%. ",
|
||||
" .%>>>>>>>>>>>>>>>>>>>>>,- ",
|
||||
" #'>>>>>>>>>>>>>>>>>>>>>>= ",
|
||||
" $>>>>>>>>>>>>>>>>>>>>>>>*@ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
|
||||
" -,>>>>>>>>>>>>>>>>>>>>>>%. ",
|
||||
" @*>>>>>>>>>>>>>>>>>>>>>>$ ",
|
||||
" ;>>>>>>>>>>>>>>>>>>>>>*# ",
|
||||
" #*>>>>>>>>>>>>>>>>>>>>; ",
|
||||
" {,>>>>>>>>>>>>>>>>>>%@ ",
|
||||
" .~>>>>>>>>>>>>>>>>>'- ",
|
||||
" @~,>>>>>>>>>>>>>>*) ",
|
||||
" .{*>>>>>>>>>>>,~# ",
|
||||
" #;*,>>>>>>'%-. ",
|
||||
" @-;;;;;$#. ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
7509
assets/exit_0.xpm
Normal file
7509
assets/exit_0.xpm
Normal file
File diff suppressed because it is too large
Load diff
5580
assets/exit_1.xpm
Normal file
5580
assets/exit_1.xpm
Normal file
File diff suppressed because it is too large
Load diff
3823
assets/exit_2.xpm
Normal file
3823
assets/exit_2.xpm
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,75 +0,0 @@
|
|||
/* XPM */
|
||||
static char * exit_64_xpm[] = {
|
||||
"64 64 8 1",
|
||||
" c #000000",
|
||||
". c #030021",
|
||||
"+ c #2900A3",
|
||||
"@ c #2A00A6",
|
||||
"# c #060031",
|
||||
"$ c #3B00DE",
|
||||
"% c #3C00E2",
|
||||
"& c #3A00DA",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+. ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
|
||||
" #&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&# ",
|
||||
" ###################################################### ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
8791
assets/player_0*.xpm
Normal file
8791
assets/player_0*.xpm
Normal file
File diff suppressed because it is too large
Load diff
7971
assets/player_0.xpm
Normal file
7971
assets/player_0.xpm
Normal file
File diff suppressed because it is too large
Load diff
8791
assets/player_1*.xpm
Normal file
8791
assets/player_1*.xpm
Normal file
File diff suppressed because it is too large
Load diff
8108
assets/player_1.xpm
Normal file
8108
assets/player_1.xpm
Normal file
File diff suppressed because it is too large
Load diff
8791
assets/player_2*.xpm
Normal file
8791
assets/player_2*.xpm
Normal file
File diff suppressed because it is too large
Load diff
8252
assets/player_2.xpm
Normal file
8252
assets/player_2.xpm
Normal file
File diff suppressed because it is too large
Load diff
8791
assets/player_3*.xpm
Normal file
8791
assets/player_3*.xpm
Normal file
File diff suppressed because it is too large
Load diff
8288
assets/player_3.xpm
Normal file
8288
assets/player_3.xpm
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,83 +0,0 @@
|
|||
/* XPM */
|
||||
static char * player_64_xpm[] = {
|
||||
"64 64 16 1",
|
||||
" c #000000",
|
||||
". c #262626",
|
||||
"+ c #383838",
|
||||
"@ c #454545",
|
||||
"# c #B6B6B6",
|
||||
"$ c #BABABA",
|
||||
"% c #8D8D8D",
|
||||
"& c #DCDCDC",
|
||||
"* c #F8F8F8",
|
||||
"= c #FDFDFD",
|
||||
"- c #FBFBFB",
|
||||
"; c #F6F6F6",
|
||||
"> c #BDBDBD",
|
||||
", c #8C8C8C",
|
||||
"' c #DADADA",
|
||||
") c #919191",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" .+@#$$$$$%++ ",
|
||||
" .%$&**======-*;>#@ ",
|
||||
" @#&-===============;>%. ",
|
||||
" +$;====================-&, ",
|
||||
" ,&========================*$+ ",
|
||||
" +$*===========================&, ",
|
||||
" +'==============================*) ",
|
||||
" +'================================*) ",
|
||||
" +'==================================*) ",
|
||||
" +'====================================*) ",
|
||||
" $======================================;@ ",
|
||||
" ,*======================================='. ",
|
||||
" +&========================================-) ",
|
||||
" $==========================================;@ ",
|
||||
" @;===========================================$ ",
|
||||
" #============================================;+ ",
|
||||
" .&============================================-% ",
|
||||
" %-=============================================&. ",
|
||||
" $==============================================*+ ",
|
||||
" .&==============================================-% ",
|
||||
" +*===============================================$ ",
|
||||
" @*===============================================> ",
|
||||
" #================================================;+ ",
|
||||
" $================================================*+ ",
|
||||
" $================================================*+ ",
|
||||
" $================================================*+ ",
|
||||
" $================================================*+ ",
|
||||
" $================================================*+ ",
|
||||
" %-===============================================&. ",
|
||||
" +*===============================================$ ",
|
||||
" +;===============================================# ",
|
||||
" >==============================================*@ ",
|
||||
" #==============================================;+ ",
|
||||
" @;=============================================$ ",
|
||||
" >============================================*@ ",
|
||||
" %-===========================================&. ",
|
||||
" .&==========================================-% ",
|
||||
" ,*========================================='. ",
|
||||
" $========================================;@ ",
|
||||
" +&======================================-) ",
|
||||
" ,*====================================='. ",
|
||||
" )*==================================='+ ",
|
||||
" )*================================='+ ",
|
||||
" )*==============================='+ ",
|
||||
" );============================-'+ ",
|
||||
" @'-=========================;). ",
|
||||
" .);======================-'@ ",
|
||||
" @$;-=================*&%. ",
|
||||
" +%&*-===========*;$@. ",
|
||||
" .+%$>;*****&$#@+ ",
|
||||
" ++++++. ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
9014
assets/player_new2.xpm
Normal file
9014
assets/player_new2.xpm
Normal file
File diff suppressed because it is too large
Load diff
BIN
assets/wall.png
BIN
assets/wall.png
Binary file not shown.
Before Width: | Height: | Size: 730 B |
4072
assets/wall_0.xpm
Normal file
4072
assets/wall_0.xpm
Normal file
File diff suppressed because it is too large
Load diff
1897
assets/wall_1.xpm
Normal file
1897
assets/wall_1.xpm
Normal file
File diff suppressed because it is too large
Load diff
682
assets/wall_2.xpm
Normal file
682
assets/wall_2.xpm
Normal file
|
@ -0,0 +1,682 @@
|
|||
/* XPM */
|
||||
static char * wall_2_xpm[] = {
|
||||
"128 128 551 2",
|
||||
" c #0E0906",
|
||||
". c #0C0704",
|
||||
"+ c #0D0805",
|
||||
"@ c #0B0503",
|
||||
"# c #0D0704",
|
||||
"$ c #0C0604",
|
||||
"% c #0B0604",
|
||||
"& c #0F0B08",
|
||||
"* c #0E0B08",
|
||||
"= c #0F0C08",
|
||||
"- c #0D0905",
|
||||
"; c #0E0905",
|
||||
"> c #0D0803",
|
||||
", c #0F0904",
|
||||
"' c #0D0804",
|
||||
") c #0C0603",
|
||||
"! c #0D0703",
|
||||
"~ c #0F0905",
|
||||
"{ c #0F0A06",
|
||||
"] c #100C06",
|
||||
"^ c #0F0B06",
|
||||
"/ c #0E0A06",
|
||||
"( c #0C0804",
|
||||
"_ c #0C0806",
|
||||
": c #0C0906",
|
||||
"< c #0B0603",
|
||||
"[ c #0A0503",
|
||||
"} c #0D0906",
|
||||
"| c #0B0804",
|
||||
"1 c #0B0805",
|
||||
"2 c #0C0805",
|
||||
"3 c #0D0904",
|
||||
"4 c #0E0A05",
|
||||
"5 c #0F0A05",
|
||||
"6 c #100B06",
|
||||
"7 c #0E0804",
|
||||
"8 c #0D0705",
|
||||
"9 c #110C07",
|
||||
"0 c #120D08",
|
||||
"a c #130D08",
|
||||
"b c #110D07",
|
||||
"c c #120D07",
|
||||
"d c #110B06",
|
||||
"e c #110C06",
|
||||
"f c #130F08",
|
||||
"g c #140F08",
|
||||
"h c #141009",
|
||||
"i c #15100A",
|
||||
"j c #140F09",
|
||||
"k c #150F0A",
|
||||
"l c #16110C",
|
||||
"m c #16110B",
|
||||
"n c #15100B",
|
||||
"o c #16100B",
|
||||
"p c #0D0706",
|
||||
"q c #0A0403",
|
||||
"r c #0B0403",
|
||||
"s c #090302",
|
||||
"t c #0A0303",
|
||||
"u c #0B0504",
|
||||
"v c #090303",
|
||||
"w c #090503",
|
||||
"x c #090403",
|
||||
"y c #0A0605",
|
||||
"z c #0A0504",
|
||||
"A c #0B0605",
|
||||
"B c #0F0C09",
|
||||
"C c #0D0A07",
|
||||
"D c #0B0705",
|
||||
"E c #0A0404",
|
||||
"F c #0B0404",
|
||||
"G c #0C0807",
|
||||
"H c #0C0706",
|
||||
"I c #0C0907",
|
||||
"J c #0D0908",
|
||||
"K c #0A0604",
|
||||
"L c #0D0907",
|
||||
"M c #110F0C",
|
||||
"N c #110F0B",
|
||||
"O c #110E0C",
|
||||
"P c #0F0B09",
|
||||
"Q c #0C0504",
|
||||
"R c #0C0505",
|
||||
"S c #0D0605",
|
||||
"T c #0C0605",
|
||||
"U c #0D0806",
|
||||
"V c #0F0908",
|
||||
"W c #100908",
|
||||
"X c #0F0807",
|
||||
"Y c #060201",
|
||||
"Z c #070201",
|
||||
"` c #080202",
|
||||
" . c #080201",
|
||||
".. c #090202",
|
||||
"+. c #0B0302",
|
||||
"@. c #0B0303",
|
||||
"#. c #0A0302",
|
||||
"$. c #070202",
|
||||
"%. c #050101",
|
||||
"&. c #060202",
|
||||
"*. c #090404",
|
||||
"=. c #0D0504",
|
||||
"-. c #0A0202",
|
||||
";. c #0C0303",
|
||||
">. c #080603",
|
||||
",. c #090605",
|
||||
"'. c #080303",
|
||||
"). c #080302",
|
||||
"!. c #070402",
|
||||
"~. c #080402",
|
||||
"{. c #0C0403",
|
||||
"]. c #0C0302",
|
||||
"^. c #0D0403",
|
||||
"/. c #0D0604",
|
||||
"(. c #040101",
|
||||
"_. c #060101",
|
||||
":. c #040100",
|
||||
"<. c #100B08",
|
||||
"[. c #0B0202",
|
||||
"}. c #090201",
|
||||
"|. c #0C0402",
|
||||
"1. c #070101",
|
||||
"2. c #060100",
|
||||
"3. c #080101",
|
||||
"4. c #050100",
|
||||
"5. c #0D0B08",
|
||||
"6. c #080403",
|
||||
"7. c #030101",
|
||||
"8. c #0D0302",
|
||||
"9. c #0A0201",
|
||||
"0. c #0C0905",
|
||||
"a. c #0B0806",
|
||||
"b. c #050201",
|
||||
"c. c #090402",
|
||||
"d. c #040000",
|
||||
"e. c #100C08",
|
||||
"f. c #0C0503",
|
||||
"g. c #0D0B06",
|
||||
"h. c #080503",
|
||||
"i. c #0B0201",
|
||||
"j. c #0C0202",
|
||||
"k. c #030201",
|
||||
"l. c #0F0B07",
|
||||
"m. c #0C0404",
|
||||
"n. c #0D0503",
|
||||
"o. c #060302",
|
||||
"p. c #030100",
|
||||
"q. c #100D09",
|
||||
"r. c #100D0C",
|
||||
"s. c #030000",
|
||||
"t. c #050202",
|
||||
"u. c #110C08",
|
||||
"v. c #110D09",
|
||||
"w. c #0F0403",
|
||||
"x. c #090101",
|
||||
"y. c #100C09",
|
||||
"z. c #0D0807",
|
||||
"A. c #110E09",
|
||||
"B. c #0E0A08",
|
||||
"C. c #0D0303",
|
||||
"D. c #070302",
|
||||
"E. c #0F0706",
|
||||
"F. c #080504",
|
||||
"G. c #100805",
|
||||
"H. c #0F0705",
|
||||
"I. c #020101",
|
||||
"J. c #0E0303",
|
||||
"K. c #060402",
|
||||
"L. c #110D08",
|
||||
"M. c #110E0B",
|
||||
"N. c #050302",
|
||||
"O. c #0D0A06",
|
||||
"P. c #0B0606",
|
||||
"Q. c #060403",
|
||||
"R. c #0F0605",
|
||||
"S. c #0D0B07",
|
||||
"T. c #0F0D09",
|
||||
"U. c #090504",
|
||||
"V. c #090604",
|
||||
"W. c #0F0906",
|
||||
"X. c #0E0806",
|
||||
"Y. c #0F0806",
|
||||
"Z. c #100806",
|
||||
"`. c #0E0604",
|
||||
" + c #0E0705",
|
||||
".+ c #100906",
|
||||
"++ c #0D0602",
|
||||
"@+ c #0D0603",
|
||||
"#+ c #090502",
|
||||
"$+ c #0C0602",
|
||||
"%+ c #0C0502",
|
||||
"&+ c #0B0502",
|
||||
"*+ c #0B0402",
|
||||
"=+ c #0D0502",
|
||||
"-+ c #080502",
|
||||
";+ c #0B0602",
|
||||
">+ c #0A0502",
|
||||
",+ c #0C0703",
|
||||
"'+ c #0E0803",
|
||||
")+ c #0F0803",
|
||||
"!+ c #0F0804",
|
||||
"~+ c #0E0904",
|
||||
"{+ c #0C0702",
|
||||
"]+ c #0F0903",
|
||||
"^+ c #110C05",
|
||||
"/+ c #130C05",
|
||||
"(+ c #130D06",
|
||||
"_+ c #100A06",
|
||||
":+ c #0E0B06",
|
||||
"<+ c #0F0C07",
|
||||
"[+ c #0F0B05",
|
||||
"}+ c #100C07",
|
||||
"|+ c #120E08",
|
||||
"1+ c #120F09",
|
||||
"2+ c #100A08",
|
||||
"3+ c #100D0D",
|
||||
"4+ c #0D0B09",
|
||||
"5+ c #0C0908",
|
||||
"6+ c #0E0B09",
|
||||
"7+ c #0F0C0B",
|
||||
"8+ c #0F0D0C",
|
||||
"9+ c #110F0D",
|
||||
"0+ c #100D0B",
|
||||
"a+ c #100C0A",
|
||||
"b+ c #100C0B",
|
||||
"c+ c #0D0909",
|
||||
"d+ c #0D0808",
|
||||
"e+ c #090705",
|
||||
"f+ c #0E0A09",
|
||||
"g+ c #110E0D",
|
||||
"h+ c #0C0808",
|
||||
"i+ c #0A0806",
|
||||
"j+ c #0F0A09",
|
||||
"k+ c #110D0A",
|
||||
"l+ c #110D0B",
|
||||
"m+ c #100B09",
|
||||
"n+ c #110C0B",
|
||||
"o+ c #120E0D",
|
||||
"p+ c #130F0D",
|
||||
"q+ c #0E0805",
|
||||
"r+ c #0E0302",
|
||||
"s+ c #0F0503",
|
||||
"t+ c #100605",
|
||||
"u+ c #100604",
|
||||
"v+ c #110805",
|
||||
"w+ c #110705",
|
||||
"x+ c #110604",
|
||||
"y+ c #0F0504",
|
||||
"z+ c #130907",
|
||||
"A+ c #120604",
|
||||
"B+ c #110806",
|
||||
"C+ c #130906",
|
||||
"D+ c #0D0505",
|
||||
"E+ c #100A07",
|
||||
"F+ c #0E0503",
|
||||
"G+ c #0E0403",
|
||||
"H+ c #100503",
|
||||
"I+ c #0F0302",
|
||||
"J+ c #110A07",
|
||||
"K+ c #0F0604",
|
||||
"L+ c #0C0201",
|
||||
"M+ c #0F0402",
|
||||
"N+ c #100302",
|
||||
"O+ c #0E0502",
|
||||
"P+ c #120D09",
|
||||
"Q+ c #0E0402",
|
||||
"R+ c #0D0202",
|
||||
"S+ c #110B08",
|
||||
"T+ c #0D0402",
|
||||
"U+ c #0E0B07",
|
||||
"V+ c #100907",
|
||||
"W+ c #0A0603",
|
||||
"X+ c #100D08",
|
||||
"Y+ c #100603",
|
||||
"Z+ c #070303",
|
||||
"`+ c #0A0101",
|
||||
" @ c #100905",
|
||||
".@ c #100B05",
|
||||
"+@ c #100904",
|
||||
"@@ c #0D0C08",
|
||||
"#@ c #0F0C06",
|
||||
"$@ c #090603",
|
||||
"%@ c #0C0803",
|
||||
"&@ c #100D0A",
|
||||
"*@ c #0E0603",
|
||||
"=@ c #0E0704",
|
||||
"-@ c #0F0805",
|
||||
";@ c #0D0C09",
|
||||
">@ c #0E0C09",
|
||||
",@ c #11100D",
|
||||
"'@ c #13100D",
|
||||
")@ c #100E0C",
|
||||
"!@ c #100E0B",
|
||||
"~@ c #0F0909",
|
||||
"{@ c #0E0908",
|
||||
"]@ c #110C0A",
|
||||
"^@ c #0D0606",
|
||||
"/@ c #060303",
|
||||
"(@ c #0E0807",
|
||||
"_@ c #110C09",
|
||||
":@ c #110B09",
|
||||
"<@ c #100A09",
|
||||
"[@ c #110908",
|
||||
"}@ c #0E0605",
|
||||
"|@ c #040202",
|
||||
"1@ c #110808",
|
||||
"2@ c #120B09",
|
||||
"3@ c #100B07",
|
||||
"4@ c #080100",
|
||||
"5@ c #070100",
|
||||
"6@ c #040201",
|
||||
"7@ c #0B0703",
|
||||
"8@ c #0D0201",
|
||||
"9@ c #0A0402",
|
||||
"0@ c #100E0A",
|
||||
"a@ c #130D0B",
|
||||
"b@ c #0E0706",
|
||||
"c@ c #120F0C",
|
||||
"d@ c #100807",
|
||||
"e@ c #0E0808",
|
||||
"f@ c #0F0808",
|
||||
"g@ c #050301",
|
||||
"h@ c #100A05",
|
||||
"i@ c #100B04",
|
||||
"j@ c #100C05",
|
||||
"k@ c #0D0A08",
|
||||
"l@ c #110D0D",
|
||||
"m@ c #110D0C",
|
||||
"n@ c #13100F",
|
||||
"o@ c #13100E",
|
||||
"p@ c #12100F",
|
||||
"q@ c #100403",
|
||||
"r@ c #100705",
|
||||
"s@ c #12100C",
|
||||
"t@ c #100903",
|
||||
"u@ c #080301",
|
||||
"v@ c #0D0702",
|
||||
"w@ c #0D0903",
|
||||
"x@ c #0E0903",
|
||||
"y@ c #0E0B0A",
|
||||
"z@ c #0D0A09",
|
||||
"A@ c #0E0C0B",
|
||||
"B@ c #090706",
|
||||
"C@ c #0B0706",
|
||||
"D@ c #120D0C",
|
||||
"E@ c #0F0907",
|
||||
"F@ c #14100D",
|
||||
"G@ c #0F0A08",
|
||||
"H@ c #0F0D0B",
|
||||
"I@ c #020100",
|
||||
"J@ c #020000",
|
||||
"K@ c #0E0504",
|
||||
"L@ c #100502",
|
||||
"M@ c #11100C",
|
||||
"N@ c #120D0A",
|
||||
"O@ c #0B0803",
|
||||
"P@ c #110B07",
|
||||
"Q@ c #090100",
|
||||
"R@ c #130D09",
|
||||
"S@ c #0F0603",
|
||||
"T@ c #0F0502",
|
||||
"U@ c #0B0101",
|
||||
"V@ c #110E0A",
|
||||
"W@ c #110C04",
|
||||
"X@ c #100B03",
|
||||
"Y@ c #110B03",
|
||||
"Z@ c #100A03",
|
||||
"`@ c #110B05",
|
||||
" # c #110D06",
|
||||
".# c #100A04",
|
||||
"+# c #130F0B",
|
||||
"@# c #13100C",
|
||||
"## c #100803",
|
||||
"$# c #090606",
|
||||
"%# c #080605",
|
||||
"&# c #030202",
|
||||
"*# c #100504",
|
||||
"=# c #100402",
|
||||
"-# c #080505",
|
||||
";# c #0B0505",
|
||||
"># c #090505",
|
||||
",# c #14100E",
|
||||
"'# c #0D0101",
|
||||
")# c #0F0201",
|
||||
"!# c #0C0100",
|
||||
"~# c #0E0101",
|
||||
"{# c #0D0000",
|
||||
"]# c #0C0000",
|
||||
"^# c #130000",
|
||||
"/# c #140100",
|
||||
"(# c #0D0100",
|
||||
"_# c #050000",
|
||||
":# c #100000",
|
||||
"<# c #0B0000",
|
||||
"[# c #080000",
|
||||
"}# c #0A0000",
|
||||
"|# c #160100",
|
||||
"1# c #0C0101",
|
||||
"2# c #120C09",
|
||||
"3# c #120000",
|
||||
"4# c #110000",
|
||||
"5# c #090000",
|
||||
"6# c #0F0000",
|
||||
"7# c #140000",
|
||||
"8# c #150100",
|
||||
"9# c #0C0705",
|
||||
"0# c #170100",
|
||||
"a# c #130100",
|
||||
"b# c #140101",
|
||||
"c# c #060000",
|
||||
"d# c #0E0000",
|
||||
"e# c #120101",
|
||||
"f# c #130D0C",
|
||||
"g# c #0E0100",
|
||||
"h# c #100201",
|
||||
"i# c #0A0602",
|
||||
"j# c #0E0703",
|
||||
"k# c #0E0602",
|
||||
"l# c #0F0703",
|
||||
"m# c #0C0802",
|
||||
"n# c #0E0907",
|
||||
"o# c #0E0C08",
|
||||
"p# c #130E0D",
|
||||
"q# c #110907",
|
||||
"r# c #110605",
|
||||
"s# c #0D0301",
|
||||
"t# c #110603",
|
||||
"u# c #0F0602",
|
||||
"v# c #110905",
|
||||
"w# c #100804",
|
||||
"x# c #100602",
|
||||
"y# c #100D07",
|
||||
"z# c #110E08",
|
||||
"A# c #090806",
|
||||
"B# c #0B0908",
|
||||
"C# c #13100B",
|
||||
"D# c #12100B",
|
||||
"E# c #0C0301",
|
||||
"F# c #120D0B",
|
||||
"G# c #0B0704",
|
||||
"H# c #110F0A",
|
||||
"I# c #120F0B",
|
||||
"J# c #11100B",
|
||||
"K# c #130E08",
|
||||
"L# c #130E09",
|
||||
"M# c #120E09",
|
||||
"N# c #130F09",
|
||||
"O# c #131009",
|
||||
"P# c #130D07",
|
||||
"Q# c #110F09",
|
||||
"R# c #0F0A07",
|
||||
"S# c #120F0A",
|
||||
"T# c #120F08",
|
||||
"U# c #120D06",
|
||||
"V# c #130F07",
|
||||
"W# c #141109",
|
||||
"X# c #130E0C",
|
||||
"Y# c #14110F",
|
||||
"Z# c #141110",
|
||||
"`# c #14110D",
|
||||
" $ c #14110E",
|
||||
".$ c #130F0C",
|
||||
"+$ c #130E0B",
|
||||
"@$ c #120F0D",
|
||||
"#$ c #110706",
|
||||
"$$ c #0B0100",
|
||||
"%$ c #060301",
|
||||
"&$ c #0B0301",
|
||||
"*$ c #070403",
|
||||
"=$ c #0E0301",
|
||||
"-$ c #0E0201",
|
||||
";$ c #13110C",
|
||||
">$ c #130B08",
|
||||
",$ c #130F0A",
|
||||
"'$ c #110906",
|
||||
")$ c #0F0301",
|
||||
"!$ c #110503",
|
||||
"~$ c #13110D",
|
||||
"{$ c #110A05",
|
||||
"]$ c #120C08",
|
||||
"^$ c #13110B",
|
||||
"/$ c #14120D",
|
||||
"($ c #13100A",
|
||||
"_$ c #14110B",
|
||||
":$ c #16120B",
|
||||
"<$ c #15110A",
|
||||
"[$ c #17130B",
|
||||
"}$ c #17120B",
|
||||
"|$ c #100D06",
|
||||
"1$ c #141210",
|
||||
"2$ c #120E0B",
|
||||
"3$ c #15120F",
|
||||
"4$ c #120E0A",
|
||||
"5$ c #15110D",
|
||||
"6$ c #171310",
|
||||
"7$ c #120605",
|
||||
"8$ c #110403",
|
||||
"9$ c #120503",
|
||||
"0$ c #130503",
|
||||
"a$ c #150704",
|
||||
"b$ c #110502",
|
||||
"c$ c #110402",
|
||||
"d$ c #120402",
|
||||
"e$ c #150603",
|
||||
"f$ c #130402",
|
||||
"g$ c #120603",
|
||||
"h$ c #130502",
|
||||
"i$ c #110302",
|
||||
"j$ c #120302",
|
||||
"k$ c #0E0202",
|
||||
"l$ c #140503",
|
||||
"m$ c #140705",
|
||||
"n$ c #140603",
|
||||
"o$ c #160704",
|
||||
"p$ c #13110E",
|
||||
"q$ c #150604",
|
||||
"r$ c #120502",
|
||||
"s$ c #150502",
|
||||
"t$ c #150402",
|
||||
"u$ c #100301",
|
||||
"v$ c #130302",
|
||||
"w$ c #140403",
|
||||
"x$ c #170603",
|
||||
"y$ c #0F0404",
|
||||
"z$ c #120403",
|
||||
"A$ c #140302",
|
||||
"B$ c #0F0704",
|
||||
"C$ c #130805",
|
||||
"D$ c #130704",
|
||||
"E$ c #160A07",
|
||||
"F$ c #150A06",
|
||||
"G$ c #170B07",
|
||||
"H$ c #14110C",
|
||||
"I$ c #120C06",
|
||||
"J$ c #130C06",
|
||||
"K$ c #140D07",
|
||||
"L$ c #150D07",
|
||||
"M$ c #171109",
|
||||
"N$ c #171008",
|
||||
"O$ c #181109",
|
||||
"P$ c #170E07",
|
||||
"Q$ c #181009",
|
||||
"R$ c #170D07",
|
||||
"S$ c #180E08",
|
||||
"T$ c #14100B",
|
||||
"U$ c #16120D",
|
||||
"V$ c #15120D",
|
||||
"W$ c #15110C",
|
||||
"X$ c #16110D",
|
||||
"Y$ c #17130D",
|
||||
"Z$ c #19140F",
|
||||
" . . + . @ @ # $ % % + & * = - + ; > , , , ' ) ! ' # ~ ~ - { ] ~ ; ~ ' , ' ~ + ; ^ ~ ~ / ~ ' ' ( _ : < [ @ . ' ' ; + - - } - } } + + | 1 } 2 2 ( + 3 ' - ; ; - ; 4 ^ 5 6 5 7 7 8 % ' ' 6 6 6 6 9 9 0 a 9 b 9 c d e 0 b a a f a g g h i j k i l m j n o m ",
|
||||
"p q r r s q r t r u v v q t t t t r t v w x x [ x x y z u z A B = C D q u A % % % u u u [ u @ A u % E z u z z A u A F r A _ G H A G A u A H I _ J A q A u u q x x z K z q q t q @ [ t q v v q q A q A u q v v s u u u u L M N O P p r Q $ R S T S R S U V V W X ",
|
||||
"Y Z ` ` s s ` .Z ` ....+.@.@.#...` ..$.%.%.&.` Y Z ` Z ` t *.} ; r Q u A Q S Q =.=.=.T r r @.t @.#.` Z $.` ..+.s +.s -...........@.;.;.` >.,.1 ,.'.x ).).s s $...` ` &.&.$.` ` $.Y &.$.&.$.` ` ..#.s #.s #.s @.q t r '.!.~.!.,.S Q Q =.{.{.].^.u /.s s #.$.r ",
|
||||
"(.(.(.(.%.%._.%.:.(.%.Y Z _.Z Y ` Y &.&.Y %._.%.%.%.(.%._.]...{ 6 <.s [.}.|... ._.1._.%.%.2._._. .3. .4. .%.4.4.2.2.4._.1._.%._.....Y }...'.2 1 5.6.7._.%._..._.` _._.%.%._.Y _.Y Y %.%.%.%.(._.` ].8.9.[.8.....[.].-.s 7.: 0.a.a.b...;.].........Z c.&.b.$.Y Y ",
|
||||
"%.:.:.:._.4.d.4. ._._.b._.%.&.&.s ` ` s $.(.%._.%.:.%.%. .9...+ / e.f.%.4.4._._._.1.1.1.4.:.4.1. . . .}. .:.%.%.4. .%.%.}._...}. . .}. .Y &.g.} 5.h.7._.4.4.%.%.1.%._.%._. .3.}.}.1._._.4.%.:.%.+.}.i.[.j.[. .;.[._...` k.l.B 5._ m.+.[.[.[. .` .-.n.Y &.&.u o.",
|
||||
"_.1.3. .i._.:._._._._.v %.$.&.t /.r s ` b.(.p._.4.:.:.4.%._._./ 2 l.S %.3. .1.%.%._._. ._.3.1._. . .Z _._.%.%.%.%._._._...3._.%._._. .....&.q.r.q.A 7.s.4.%.` %._._.%.%. ........._.$.Y _.:.:.p.].j.[.i.[.[.[...[.}.].+.t.u.v.& L v ..].^.....w.+.].$.).Q /.=.$.",
|
||||
"3._.3...9.}.}.3.x. ._.Y &.$.Q =.@.&.` ` %.7.%.4.:.:.4._.}.}._. } = Q $.1._. .:.%.Z _._._.3.4.4._.1._.%.:.:._._.%.Y %...}.4.2._._. .....` &.= y.y.z.7.s.d._.3.&. ._._._._.....-. .Z +...+._.:._.-.i. . .i. .[.[.-.}.[.@.t.v.A.y.B.$...[.}... .C.3.#.x D.).S $ @ ",
|
||||
"_.3.}.1._.1._._.3.[...[.@.Q E.{.` ` ` &.%.(.%.4.:.p.%._... ._.} = e.{.%._._._.4. ._.1.}._.:.4.4. . ._._._.%._._.%._.%.[. .` .3._._._. .&.(.* q.q.F.7.%._.....[. .%.%.%.}...}.` %. .@.1. .4._._.....Z #.j._.].j.}.-.` Y o.u.A.q.J &...C.].[. .[.[.^.@ ).n.G.H.r ",
|
||||
"_.3.%.:._._._.%.}.[. ...{.q r r r s ` %.(.(.%...:.4._. .1.[.Y } = <.r . .1.%.4.%._._._._._.:.4. .3.%._. .1.].[...[.` . ._._._.4._._.....%.l.q.y.F.I._. .}..._.%. .Y -...+. .....s Y Y _. ._.%.}.}.].-.}.-.[.[.[.J...$.K.L.A.M.A (.[.^.[...+.8.8.#.=.8 @ f.S r ",
|
||||
"Y 1._.Y 3.3...1._.}. ...` F =.{.v ` _.%.%.(._. .%._.}.3... ._.} = e.r %._._.1._._._._. ._.}.2.` . . .}.3. ._. ... ._._._. ._.4.1. .}.[._.%.} = B h.7._.(._...%.%.%.Y (.` ` Y Y Y ..` ` ..` %...^.8.+.+...].[._._...p.&.N.v.v.q._ ` ^.8.[...}.-.}...r ).[ $ /./.",
|
||||
"}.3.}.}.}.}.1._.[.8.....Y ..` v @.` &.%.%.7.%._. .}.}.1. .4._.- = y.x _.3.3.}._._.4.%._.}.2.:.3.3..... . ._.` _._. . ...}.` Z 3. .}. ._.Y $.O.= q.P.%.Y $.$.` s s ..` #.` ` s v @.v $.&.` s ` s r ` ..` +.t ` s ..` '.D.Q.L.A.v.V ).[.[.[. .....Z ` @ @ /./.8 R.",
|
||||
"3._._.4.1.}._.3.}.[. .[.` &.` v s @ T ).%.(.%. ... ._.%._._._.} = q.` _.` .._._.%.Y _... ._.%._.` r ` Y %.(.` ` . ._.&.` Y _.%.%.%.%._._...S.B T.U D.U.w K A '.U.u @ f.w $ T x u T 6.V.T @ $ T W.X.X.Y.+ S T T U.V.,.Q.L.M.= _ (.` ..$...Z ..[.+.H.Z.`. +.+Y.",
|
||||
"++@+#+$+$+$+%+++%+%+$+%+$+$+@+! $+$+$+++&+< s %+*+$+$+%+%+*+$+^ q.q.< s &+&+#+s &+$+@+=+%+&+&+-+@+! > ' ) < %+&+&+$+$+$+$+;+&+#+>+~.c.#+#+c.^ e.v.; ;+#+#+;+;+;+#+;+&+$+@+> ) > ' ; ,+> > < < - > 7 ~ '+> )+! !+! $+&+) ~+L.v.e.' #+< ,+! > $+) {+> , ]+^+^+/+(+",
|
||||
"} } 2 2 ( U + U + 2 2 + + 2 2 + + + ' ' + - + + + - } ; ; 6 e.q.e.<.6 ^ _+^ ~ ~ ; ^ 6 ; 6 ^ ^ { } } _ 2 } 2 2 g.+ 2 - } + ( } 2 1 2 2 1 2 _ :+e.= & ^ } e.<+:+; } } { ^ ; 6 ^ ^ ^ ; ^ ^ ; [+5 ^ 6 6 [+5 { 5 6 ; ~ ~ ^ ] e.e.}+6 ] 6 6 6 ] 9 }+9 9 u.a 0 |+1+",
|
||||
"p V V T V W <.2+V V U P 3+3+4+J } J 5+G 5+4+6+6+7+8+r.r.r.r.r.9+7+P B 0+a+b+a+P P y.c+B P P J & 4+6+J _ d+a._ 1 e+J 5.4+4+J P f+J 6+P 4+J 5.4+y.0+g+B 5+a.a.h+: i+a._ J U J z.J V j+J B.J O.} q.0+y.<.P 6+y.P B P L J 5+J J 6+0+k+l+l+l+P & m+O l+O M l+n+b+o+p+",
|
||||
"_._._._... .3.[. ._.$.S _ 5.a.1 S./ s ` Y ` ` . ...s Y ..n.s ` )...+.s s ..s Y Z ` Y {.Z ..Y ..]...Y +.` &.K._ _ U.%.&.` . . ._.s Y (.b.b.Y ).s &.Y &._._._._._.p._.Y .+.#.....#...` w ^ q+i.[.9.].[.}.i.}.[.9.}.3.3. .].8.r+8.8.s+8.t+u+u+v+w+x+y+z+A+B+C+",
|
||||
"_.%.%.(.` [.+. . ._._. ...D+u 2 :+& ..Y _.%.%.%.+.Y Y %.Y ..s ` +.s ^.+.s s .` +...+. . . .[.].].C. ...` (.>.O.= U.Y (. ._.4.4._.%.Y 7.7.(.%.Y 7.%.%.%.%.%.%.%.%.%.%._.%._. . . ._._._.c.} g.E+j.3.3.[.}.3. .}.}.3.3.3.x.}.8.8.].F+^.8.u+].].8.8.s+G+s+8.H+w.I+",
|
||||
"1._._.+.-.j..... ._.3.3.}.}.:.2 } l.+.+. ._.3.].8.}.j.Z [.[.[... .%. ._.3.}._. ._...].}...j.[._.[.3._. .[.&.1 g.e.x %._.%.d.:.:.4.:.(.7.7.(.(.(.(.%.%.%.%.%.%.%.%.%.%...` ..}.}.1.}. ._.h.^ } J+].}.9.j.}.}.}.}.}. .1.2.3.}.8.^.K+8.n.].w.[.K+8.[.].L+G+M+N+r+r+",
|
||||
"..[...[...j._.9.x.].}.}.}.}.(.( } ^ n.}.3._.}.].}._.}...[.}.;. .....Y %._._. . ._.[.].j.i.i.}...}.4._.}.+.%.2 } & A ` _.2.4._.:.%.:.7.(.7.7.(.b.%.%.%.%.4.:.4.4.%. . ...'.3.3._. ...[.Y w <+l..+].i.j.L+i. . .}.9.i.i.3.x.L+s+O+F+8.].8.8.].8.j.j.8.M+8.M+8.8.H+",
|
||||
"}. . .[.i.j.i.9.j.j.}.+.[...7.} } <./...}.3.}.3. .3.}.+.1.}.+..._._. .1.}._. .i.}.}.j._.4.3. .3._._.3.[. .b.: } } % Y _._.2.4.4.4.4.b.(.c.7.(.b.%.%.%.(.%._.4.4.1. .` [._.}.}. ...j...Y w ^ e.P+8.}.i.i.i. .}.i.i.j.i._.x.8.r+Q++.G+8.G+M+r+8.].].w.w.r+[.8.r+R+",
|
||||
"[.j.[.}.[.}.[.[.j.}.}.[.}.Z b.} l.& {...}.}.[.].j.}.[. ._....._._.` _._... .}.4._.3.x.3.1.}.[.}...}...j. .Y } C _ A _.1.2.4.s.s.p.%.Y (.(.7.(.%.b.%._._.&.Y Y .. .3. . ...}.-._.}.}.3._.w }+y.k+[.x.}.8.i.i.}.i.}.i.i.].j.L+M+M+F+G+8.Q+8.r+].w.8.G+8.K+G+r+u+r+",
|
||||
"..}.Z ..].^.8.j.j.j.s 3._...b. S.& Q [. ._...}.3. .}...-.[.}.}.}._.4._._.1. ._._.}.8.}.}.j.}.4.}.}.}. .` Y :+& : o._._.4.%.d.s.p.%.%.%.7.7.7.b.b.(.Y .1..._.}.[. . .1...}.}..... . ...,.e.= S+j.i.L+i.x.3.i.i.i.i.i.}.x.8.I+T+T+8.[.T+s+i.8.^.8.u+M+r+u+w.G+8.",
|
||||
"].j.[.[.}.n.j.[.9.3.i.x.}.[.b.} U+& Y ....}.}._.3._. ._._._.}.-. ._. ._..... .3. .[.}.[.[.}.Y [. .[...}.[.).} & } '.Y _.2._.4.d.4.%.b.Y 7.7.(.&.%.%.Y _._. .}.+..._._.}.[.3.}. .3. .[.].% e.q.V+j.L+R+i.i.}.}.R+j.L+i.9.i.8.r+8.j.M+M+s+j.Q+8.8.i.}.8.^.8.T+].Q+",
|
||||
"}.+.-.+.f.n.+.+.[.}.x.i.[.}.D.:+= q.&...}.3.}._.Y [.}. .3.-.].]._.%.%.` +. .` _.` s .].j.].[.+.+...}.....o.g.* 5.&._. ._.2.4._._.b.o.o.(.(.(.%.b.%.Y ..s ..+. . .&.{.[.].}.8... .[.[...W+X+l+W j.i.R+L+i.L+L+i.i.x.L+}.L+j.8.Q+8.8.8.i.r+R+8.j.].8.s+w.Y+8.G+F+",
|
||||
"Z .. .s s -. . . ._.3._.1.` D.l.y.0+$._._._._.3.......}.[.^.+.].Y ` ` ` +...+.+.#...t+8...+.+.{.+.+.s ;.+.~.= * } 7.7.%.(.:.4._.%.%.w ).).o.Z+` (.%.Y Z Y ` s ` ` .` ].].Y ` _.&... .` U.e.q..+i.x.i.`+i.i.i.L+8.R+j.j.L+[.i.Q+8.j.8.8.j.R+r+L+8.8.I+r+8.8.y+y+",
|
||||
" @.@~ , +@, , 7 > > > $+,+> < ^ q.q.@+< c.W+< < + ! ++) > ! '+]+> > , > > ,+! ' ~ ' , )+' ' )+> @~ !+'+, ; e.e.= @@#@- < ( ,+3 ' ' ' '+' ' ' } 2 _ _ % $@) . ( ( + + ' < ) . %@> > > 3 [+e.&@l.' ' !+7 @+++*@@+@+) ) @++ ( + q+' =@*+@+# 7 '+# -@!+, 7 !+-@!+ @",
|
||||
"e.0+&@T.B B = & & & & :+ :+:+e.y.q.e.<.e.e.& <.l.l.l.^ & * :+e.& :+& e.] .@}+= = y.y.B B y.y.& B * * ;@B >@B &@q.,@'@,@l+0+y.r.0+0+q.0+* B 0+0+)@M ,@l+6 }+q.N M l+q.l+q.y.y.q.= e.e.e.e.0+&@0+l+e.q.e.= q.y.e.e.y.q.e.q.q.q.e.&@e.e.L.e.e.2 L.M q.q.!@q.k+v.M.",
|
||||
"P U z.~@{@]@W X Y.S S ^@{.).o.o.Z+/@A U T p r S x U.x r T T A Q x % z 6.>.^ ^ <.p ^@T W.X.Y.p p T T u r Q @ Q V S W W W <.m+W.<.V V+X (@S S Y.{@V P _ _ ^ e._@l+:@<@n+:@_@.+[@W n.n.r ).).U.Q .+.+n./.% }@=.@ x '.s +.r +.f.=.F+R.}@% ; 5 | |@Q.6.'.6.Q =.W 1@2@",
|
||||
").%.%._.Z ..+... .` Y .._.Y _._.(.%.` Y _._.$.@.%.Y _.+.s &.6.s s +.).|@: ^ 3@.+_._....._._.%._._.4.4.%.%._.%.Z %._.Y Y Z _._._.Z [.` ._.Y . ._.%.p.$@^ e.Z.}. .3.3.9.2.2.3.3.4@5@2.x.3. .3.i.}.i.i.^.].i.}.}.}.j.i.i.4@L+8.^.i.j.w & = o.%._.%.3.^.@.j.{.G+[.",
|
||||
"S &.Z _. .]. ._..._.%...Y _._. .%.&.&.6@Y t.Y ` &.Y s +.f.@ $ f.@ s @ &.-+^ e..+_.4.3. .}._.4.4.3.4.2.4.4. . . .1.3. .` Z _._.1._. .Y }...1.3... ...Y h.^ }+Z.].x.}.}. .3.3.3.3.x.3.5@ .8.8.8.8.M+j.j.j.x.}. . .x.8.].L+j.8.I+8.r+8.% y.q.s 1. . .[.].[.j.}.}...",
|
||||
"u.%.7.(.Y $.Y . .` %.` ` s Y ` +.s ` ).v ).Y ` ` s $ f.s s +./.).&.&.6@( ^ }+-@` 3.3.i.3.3._.}. ._.2.4.4._.}. .3.3.i._.1._.Y _. ._.[.3. .}.}..... .Y #+^ e.<.j.3.i.j.L+}.i.}.}.j.i.}.}.8.8.i.8.8.[.+.j.i.j.j.i.j.8.j.j.L+8.L+8.8.8.2 e.q.x ..}.i.[.+...-.i.[.8.",
|
||||
"v.$.Y %.Y Y ..#.c.&.&.Y s ).).v Y &.` Y &.b.Y +.....s . .[ /.^.` Y t.&.7@6 e..+ .1.3.}.3._.2.x. ._.Y 4.4.2.3.}.}... .}. .Z .}... .].}. .}.+. .}. .` )./ ] V+[.}.i.i.i.}.8.L+8@9.3.}.i.8.].j.8.8.F+8.i.8.8.[.i.i.].j.8.^.L+T+8@8.8./.X+q.q+^.].].[.}.1.[.].].i.",
|
||||
"l+t &.$.9@s &.s ` Y b.u s Y +.r r ` Y &.Y ` ).` Y s {.+.+.c.` ).x ` ` %.( 6 }+.+3.2.}.3.3.2.3. .4._._.4._._.}.3.}. ._.[.` _.}. .4.-.}.3.}.}.[...}.....w & = <.j.[.i.}.[.}.i.}.}.x.}.i.R+8.^.M+T+8.[.i.j.8.8@i.3.j.8.8.L+9.i.r+r+[.j.A q.q. +].j.].].i.Z [.}.+.^.",
|
||||
"l+..b.` |...s Z Y %.Y ..Y Y Y %.7.b.Y Y Y Z &.Y ` Y Y .` w ..%.%.&.%.%.+ ] e..+ .2.3.x._.2.3.3.4.2.2.4.4...j.+. .[.}.3.}.....3.1. .3.3. .}._. .}. ._.~.^ }+8 }.3.}.[.8.8.j.8._.j.9.i.}.i.8.T+j.j.L+R+].8.].3.}.R+r+8.j.T+R+8.r+F+s+T 0@!@S ^.;.+.....+.[...+.-.",
|
||||
"a@s $.x ..Y Y ` Y Y %.` Y %.$.%.7.(.Y Y Y Y (.Y s Y ._.Y Y (.Y (.p.7.7.( ^ e.G.3._.3.3.4.1.3.3. .3.2.4._.3.}.}.3.}. ...[.1.}._._...[..... .3.[.G+}...W+^ e.U [.x.}.j.j.i.L+}.x.}.x.3.x.8.M+M+Q+O+8.8.s+F+M+9.8.^.R+i.8.8.M+8.L+8.R+$ q.q.<.Z.Y.b@Z.R.{.}@Y.Z.[@",
|
||||
"c@T ` %.p.4.:.(.(.(.%.Y %.` ..&.Y &.Y .` Y s Y Y .Y s +.Y Y ` %.%.(.7.| l.e.Z._.2.i.}.3.3._... ._. .3._.}.}. . .[.+... ...[. .}.[.}. ._._. .+.}...` % :+X+X.R+3.i.[.j.}.i.j.j.}.}.i.R+8.8.j.8.].].8.8.].}.[.8.j.8.s+H+8.R+8.I+R+^.@ = !@2+E.W 2+V+V }@m+d@:@W ",
|
||||
"'@|@t.&.p.(.7.&.Y Y &.#...Z ` Y ` b.).Y s ` Y $...s +.Y '.Y Y ` %.%.%.7.1 & y.+ %.Y ` }. .1. .}.]. .[. . .s {.^...{.....` s .. .%...+.[.+.).}. . .s ..% l.q.V ].9.i.i.[.L+i.[.i.i.L+8.L+u+H+H+8.8.w.8.8.Q+8.8.-.8.M+w.8.i.i.j.L+8.8.T y.&@y./.X.^@e@f@f@Y.f@X W ",
|
||||
"k+~.g@Y b.Y ).c.).c.&+*+s >+c.&+&+c.D.~.).c.).o.&+&+s &.).).s $.&.&.% o.g.= q. Y ). . . .s s s |.%+f.s %+n.s s *++.s . .s +.+.Y ].|.}.s Y Y ` #.` s } e.y.U ].}.i.x.9.i.}.8.8.Q+T+Q+].H+s+].].].T+8.n.+.T+T+%+n.T+=+*+c.n.%+*+%+@+3@X+q.e.f.S S X.^@f./.`./.u ",
|
||||
"k+u.6 ^ 6 ^ .@[+[+h@.@~ ' 6 6 6 ] 6 6 6 6 6 ] 6 ] .@.@.@.@.@.@.@6 .@.@.@6 ^ e.6 .@.@.@.@.@.@.@.@~ @.@.@.@.@.@.@.@i@.@j@.@+@+@, , @~ .@~ 6 ~ ~ 6 [+6 ] e.e.L.] .@~ .@ @+@.@.@' ] 6 ] 6 6 ] ] ] ] .@6 6 .@] ] 6 ^ 6 ] ^ ] e.] %@6 ] X+X+e.v.}+e.e.] ] ] 6 6 ^ 6 ",
|
||||
":@R.s 6.6.x '.x q v r w '.% u @.x A z 6 y.0+y.B & & & & U * P {@& } _ a.a.} * B J } } D _ _ : : _ _ : a.I } k@5.J = e.* 5.} A ,.} } * J J 5.y.y.y.* P L 6+'@'@* } L } } _ J } J * 5.5+y.r.B k@B q.q.r.0+r.l@,@,@0+0+r.r.g+r.b+m@r.a+0+0+n@n@o@n@p@9+g+r.0+b+P ",
|
||||
" .i.i.5@` 3.2.9.L+L+L+}.3.9.i.}.[...}.D.] 6 f.{.s +.+.s ..|.n.` s *+n.r ` $.).s T x %.%.7.7.b.Y (.&.(.&.).@ r v w o.] 6 +. .` ..+.s Q |.+.+.n./.{.f.` f.n.+./.f.&. .Y s s ` x R.F++.S ^.F+n.`.U ] 6 _@<@Z.S =.@.{.+.+... ._.1...+... .+.[.+.+.[...;.[.[.[.-.}.",
|
||||
"` 8.r+8.j.j.L+L+R+8.j. .}.i.[.[.j.}._.V.X+e.Q+8.` |.8...+.].]...{./.+...s ` s ].+...Y Y %.Y +.}.+.+.@.{.^.].+.+.@ &.e.6 W...].[.j.].^.{.].%.Y n.|.s s s +.` s ].+.s [...|.+.}.^.[.[.].[.].8.8.T++ X+X+Y.].].[.[._.4.4.2.4.2.4.%._...}. .].....+.[.....[. .j.].].",
|
||||
"..i.L+L+R+8@R+R+r+R+R+[.}.L+9.j.j.}._.+ e.l+s+[.i.j.L+T+R+].[.[.i._.Y +.+...+.+.+.` +.+.;.8.8.+.}.i. .8.[._._.#.r ).L.L.W.+.j.].R+j.8.8.^.` ..F+n.+.;.#...-.+...#.+. ...T+}.n.j.[.[.[.8.j.8@Q+{.+ X+v.Y...1.3.L+[.4._.3.2.4.4.2._.[.8.[.]. .....].....}._.8.[.[.",
|
||||
"i.i.R+8.r+R+i.R+R+8.L+8.}.9.8.R+i.-.[.' }+M.F+8.8.8.[.j.j.=.i. .-.[.[.+...].}.}.}.i.x.i.[.j.}. .^.i.[.i.[.8...;.v t.}+}+6 ^.8.j.i.8.8.i.[.^.[.r n.{.+.` ..[.8.[.j.}.j.i.8.[.8.q@H+8.j.j.j.8.M+n.2 X+v.X... . .}.2._.3.}.3._._.4.2. ..._.^._.+.{.[. .3. .` ].}.+.",
|
||||
"}.8.8.r+L+8@R+R+R+8.L+R+}.8.8.3.[.j.8.( e.v.K+8.i.j.j.8.j.I+j. .s }.[.}.[.}.....[.[.i.j.i.[.i.L+3. .8.Q+M+j.].;.v K.] }+L.s+R+8.r+[.j.8.3.^.}.{. ._.3...}.+.}.+.i.8._.].8.F+8.8.2.}.8.j.j.i.}.|.} q.q.W }.}.3.Z _.2.%.2.2.3. .4.1.j.].;.+...8.+.[.9.].-. .[. . .",
|
||||
"i.i.j.R+9.i.i.i.9.8@R+L+}.L+x.}.8.j.j.+ e.L.r@8.[.].}.j.R+}.}.}.].M+8.j.[.j.+.].j.[.[.x.].L+r+].[.}.8.i.i.}.j.^.@ w ] e._@Q+G+8.1.j.8.R+}.}.+.].]. . .+.8.[.}...}.i._.s+8.8.I+8.Q+T+R+8.j...{.{.} q.q.P ` }.}.3. ._.}.Y _.3.3.9.^.Z.[.[.+.-.].].[.].[.3. .i.` 8.",
|
||||
"9.8@L+i.x.L+L+L+R+R+R+i.3.}.i.i.].3.[.@+e.s@Z.j.R+R+9.].].}.[.].].}.}.8.[.].}.3.}.i.8.}.[.[.R+j.i. .[.j.8.j.[.+.v o.] e.u.T+].i.8.i.L+[...8.3.[.}.3.=.n.[.].].}.+.-.3.[.8.j.R+[...i.j.8.8.[.C.s } q.l+$ 1. .i.j.[.[.j.i.}.}. .1.3.]._.^.].}.^.+.8.[... .` +.].].",
|
||||
"i.L+L+i.i.8@L+L+i.8.i.i. .i.}.}.i.}.].. X+N =.].8.8.8.L+j.j.}...[.{..._._.}...` [...` ..[.[.8.s+C.+.F+8.-.[.j.{.u ).] q.k+8.8.3.[.}.r+].8.].}.].+.n... .Y .. .[.F+[.}.8.M+T+].r+].8.M+R+8.j.[. .g.q.M.S _.}.i.}.[.}.i.j.}.}... .].]. .[.......+.+... .Y s +.j.[.",
|
||||
"i.8@8.8.R+R+8@L+8.8.L+}.3.[.}.L+j.i.[.( L.M.F+8.8.R+[.}.].R+[.[.[.8.[.{.[.&... . .+.]...-.;.+.8.[.^.C.n.n.8.{./.Q ~.3@e.e.^.n.].G+].].n.].[.` n.F+n.s s T+8.8.8.8.^.}.H+8.j.8.8.].].8.8.8.j.y+` O.q.M.u .. .[... .}.}. ._. .[...[.^.n.{.+.s ..@.f.s s s r {.{.+.",
|
||||
"[.j.j.i.i.j.j.[.j.x.x. .3.@.3. .3.3. .- 3@v.G.[... ... .8.].[.].].].^.8.]. .{.` ^.].+.+.r f.S S S @+f.{.Q +.Q /.S w e.q.y.^.^.].[.].].8.].8.Y ^.n.T+].n...-.+.8.s [.-.B+u+u+u+s+G+#.n.n.j.}.^./.g.q.q.T ` ..+.+.` ]...+.]...{.+.n.n.S Q f.S Q f.f.s s ..` #.s -.",
|
||||
") ,+> ]+]++@)+t@)+)+.@~ +@+@, @, .@.@] L.L. @$+$+++++++++u@%+v@)+'+'+)+'+)+)+'+)+'+)+'+)+> )+)+'+> )+'+> > > > > w@] q.X+6 ; ~ .@~ ~ , +@~+' x@'+> > > $+) > )+)+'+'+)+++> '+ @)+> ++> '+'+++++~ q.L.:+) > @+) @+@+++! > '+'+~+'+> > > > @+$+'+'+'+!+! > 7 ! '+",
|
||||
"^ :+& } :+^ / * & } } ^ ^ 6 ^ ^ e.3@3@e.e.3@6 W.6 6 5 ~ 6 ^ 6 6 ~ 6 6 ~ 6 6 6 e ] 6 ^ 6 ^ { 6 ^ ^ 3@6 W.6 ^ { :+X+q.q.q.q.e.U+= = = = ^ e.& e.y.U+l.6 3 @X+}+^ 6 6 } e.= l.e.e.}+e.e.] 6 ^ 6 e.e.e.e.e.X+e.}+e.] 6 ^ 6 e.e.e.e.] ] ] ] }+] ] 6 6 ] 6 ^ 6 6 ",
|
||||
"e.} B y@z@7+A@z@c+J U _ P L a.,.U J V J & y.l+0+A A A a.a.a.B@C@_ L J C@: 3@] 9 W.m+m+y.l+y.D@l+W.<.m+W W.V W W V 2+E@m+]@F@D@m+8 _@2+2+W Y.Y.V V+W U u } ^ y.P y.l+l+0+l+G@L <.} } B.L _ a.I * I 5.q.v.B 5.J 5.P a+* 5.H@0+0+)@9+P e.q.q.B B 5.4+B >@6+B >@B ",
|
||||
"] < o.I.I@6@&.(.(.(.(.b.%.(.J@).+. .+.$.Y &.s {.Z ).&.s s ..` U.Y &.7.7.&.; ] ] 8 .1. ... .}.8...].}.j.[.]. .j.[.+.8.G+..n.T+[.+.8.+.+.[. .[.].].^.^.K@+ ^ e.q+s s .s x Y ..` .s . .Z Y Y Y .Y .r +.*+s s s /.@+/.@+/.S @+G.Y.u V.& b._.Z .3._.4.}.F+K+F+",
|
||||
"e.+ ).b.s +.%.Y Z %.Z 7.%.p.J@` ..` {...+.{.{.+.{.-.+.^.+......._.Y &.b.7.' 6 6 n.}.j.i.-. .}.8...9.2.}.}.L+[.i.}.x.L+j.j.].j.[.8.[.].+.}.1.T+j...8.].].( 6 ^ @+.... ._._.%.` ._._.4._.%._.1._._.Y _.Y %.....&.}..... . . .Z .Y %.(.} q.q+8.L@8.M+H+].O+8.8.T+",
|
||||
"}+ ).Z +.1. ._._.-.%.` ` %.J@` ;.s ` _..._. ...[.[.}._._.s+[.}._.` (.t.&.' 6 6 + R+j.1._._. .[.}.[.}.}.[.j.3.[.x.}.8... .].j.r+i.8.8.].[.:.[.j.].}.+.[.' 6 } K+[.i.}.9.}.3.3.1.x.x.2._.2. . . .Y .` _.3...+.[.+.].8.].8.8.j.i.j.}._.6 M@N@s+8.8.G+8.Q+r+s+].8.",
|
||||
"e.u.@ ` ._.}.3. . .%. ._.%.J@..-.1._.s. .[.[.].[. .-.8.f.j.}.[.3.` Y ).&.2 6 6 /.L+i.}._._._.}.}.i.3.2.}.[.i.j.}.j.i.}.8.M+i.i.3.].}._.3._.].3.3.+.[.+.< }+^ ^.i.3.}.L+}.i.3.4@}.x.3.x.x.}.}.].-...` _. .[.}._.j.R+8.8.r+r+8.8.}.x._.6 v._@H+r+M+8.Y+s+8.].8.8.",
|
||||
"}+u.&.&.` ` |...}._.3._.%._.J@` [.].].v +.[. ...[.}.[. .i...2...[. .s &.&.O@6 6 f.x.].3.3.%._.%._._. .4.L+3.9.3.L+8.].[.[.}.].8.[.[. .2. .-.[.+.}.j. ...< e.e.r@i.}.i.i.i.L+i.1.j.3.3.i.5@x.}.^.[.+.#.` 1.+.]. .3.+.}.L+j.i.}.i.}.[. .^ L.W.w.T+T+j.^.8.s+s+].8.",
|
||||
"u.P@t.b.Y Y .%._. . .Z .. .J@&.+.8.+...}.[.+.8... .3._.[.i.}.Q+}.[.` t.t.$ 6 }+Y.i.9. ._.4.(.%.p.:.p.s. ._. .1.j.i. .1. .s $.Z Y . ._.Z ..+.9.i.j.1.j.% e.e.n.i.i.`+i.i.2.1. .}.}.5@Q@4@9.x.T+[.#.+. .[.}.}. .8.j.x.R+8.i.x.8@j.8. .& v._ 8.M+M+Q+H+M+8.r+T+Q+",
|
||||
"L.R@t.).Z . .` ` _._.3...%.J@*.@.t ..` [.].;.+. .[. .[.^.[.n.[.j.[.%.$.t.%@^ e.Y. .3._.%.%.%.p.J@7.J@(.s.s.s.d._.Y _._._._.s.4.J@(.p.p.(._._.Z 9.}.i.-.- e.e.S@x.4@i.i.i.x.2.x.i...}.+.}.L+L+8.8.].f.` [.[.j.[.x.i.8.L+L+j.3.i.x.3._.e.v.+ s+8.s+Q+H+T@s+8.|.8.",
|
||||
"L.v.).%. .` ^.` ` }.s ..Z Y s...+.+.` '.#.{...{.r +.Y ^.+._.+.` +. .&.&.'.' e.e.<.[. .4.:.b.:.7.J@J@J@J@7.s.4.:._.p.%.4.%.:.p.J@J@(.J@J@p.p.s.s.%...}.8.' e.Y+U@L+i.L+i.L+}.i.x.x.3.x.}. .-.j.+.|.+.` ^.j.].[.[.8.i.i.[.R+}.8.i.j._.q.q.} Z.y+].n.S@^.}@@.n.|.",
|
||||
"v.u.b.).` ` Y Z .. . .s ..&.7.f.+.s s r ` f.` r ` +.f.n.|.+.|.` .Y b.r &.; }+l.b+[._.:.%._._.%.:.p.J@p.:.7.Z _._.%.Y %._.%.s.:.s.(.s.J@J@s.s.p.Y .[. .- 3@; Y+x.L+L+L+i.}.i.i.[. . .[.}.i.}.j.i.n.+._.+.j.i.i.+.8.}.j.2.8@i.i.8.}. .3@q.k+n.n.T+K+K+*@H.`.}@`.",
|
||||
"L.e.o.c.7.Y Y o.c.c...s I@).7.*+s c. .c...` 6@k.Y Y Y s ` .s s s $.v &.o.} e.q.l+ . .%. . ._._._.Y .Y _.x.].[.8.[. .3. .4..._.p.4.:._.:.s.d.4._.3.< & e.e.W.s+3.5@2.i.3.9.}.x.i.R+[.[.j.[.].9...+. ._.s ..[.].[.8.8.8.8.R+R+R+L+[.Y = V@l+Z.G.G.`.n.K+f.n.Z r ",
|
||||
"] d ^+W@X@Y@Z@`@`@`@^+i@5 ] ; ^+`@^+ #e j@.@6 .@ @x@.#+@.@+@.@.@`@+@.@`@e ] e.}++#L.~+! ! 7 @+> ' > ! > w@~+]+i@.#+@h@.@[+5 @~ - ~ - ~+~++ ; - ; h@e.L. #L.^ ~ > ;+&+c.).#+c.#+> ) ) } # # < ) ) $ $ % $ $ ) ) ) ) &+&+< %+&+*+*+@ ) X+v.@# @!+##!+> !+# ( 2 } ",
|
||||
"5.& e.} } U+} 5.B & * 5.& = = y.q.y.y.& ^ e.l+e.e.3@= { <.<.& & e.& <.& q.& l.= M q.e.& e.e.l.}+q.e.e.e.<.l.^ }+e.l.^ ~ e 3@3@3@<.e.e.e.<.e.v.6 3@<.<.<.{ .+U .+6 } 6 + + 2 + 2 W.W. W.6 W.<.<..+} 6 ] e.q.q.y.q.<.e.e.y.e.e.<.e.e.e.e.q.s@l+y.e.q.= & <.& l.y.",
|
||||
",.$#%#|@k.I.I.&#Q.o.o.U.U.A C@,.,.h.,.$@] b y.F+^.t+s+s+Z.x+t+=.^.Z.R.{.Y.n.t+^.R.Z.s+F+n.{.8.s ` ` ..+.Z . .#.` _.%.~+7 .+t+G+*#I+I+i.8@8.R+R+j.L+L+R+R+I+R+u+H+8.r+8.H+L+8.i.8.i.8.8@8.=#I+=#q@t++ V.J U.6.B.-#F.,.^@;#x Z.^@^@S @ ^@>#A u ;#x v q ` ..+.@.{.",
|
||||
").&.o.6@o.N.7.6@6@Y Z s #.Y Y s I.&.Q.N.; ] ]@+.j.}.3.8.].L+j. .8.8.8.].8.8.j.j.R+j.i.x.i.9.4@3.4.2.j.j.j.8.R+L+-. ...; 6 .+R+U@x.i.x.x.i.i.L+i.5@x.Q@9.8@r+8.8@L+8.j.L+i.}.8.R+L+L+8.L+L+I+L+8.r+8.^ q.* A 6.h.k.I.&.v ` &...].;.n.Y.#.b.Y ` ` p.(.d.:.%.%._.%.",
|
||||
"r x &.(.).t.b.` ` #.s +...` ..` Y k.|@|@^ X+'@].}.].i.R+i.i.x. .8.i.i.x.8.L+S@L+8@8.L+L+L+i.8.L+].Z w.8.i.}.R+x.L+8.j.6 }+6 R+x.U@8@}.x.3.}.}.9.5@x.x.L+r+L+j.8.8.8.8.L+L+j.L+j.}.L+8.8@8.8.M+8@r+].e.v.2 o.6.z o.I.o.).t b.}@..+...` &.).` ..%.:.s.s.4.4.1.1.-.",
|
||||
"s Q .Y s %.&...+.[...[....... .7.b.o.N.6 X+,#F+j.L+3.x.i.j.8.i.8.j.j.3.8.8.4.j.}.x.i.i.8@L+i.R+j...8.i.R+8.i.i.[.M+j.^ }+-@8.U@8@'#)#!#i.3.2.5@4@x.}.8@8@8.L+L+i.i.j.j.i.L+i.].[.i.i.}.}.R+I+r+8.].e.q.J ,.A K A k.t.f.$...j.}.^.r ` t.b.` v _.4.Z s.d.2.1.}.9.",
|
||||
"r _. .%.].Y ....T+[.].}.j. .` ` s D.@] e._@[.3.4.3.3.}.i.i.x.i.i.x.}.+.j.4.8.1.8.8.8.H+j.R+H+ . .8.9.].x.}.8.L+R+}.6 e.L.q@~#{#]#{#^#/#(#4@x.i.}.x.i.L+8.L+x.i.}.8@L+i.i.i.i.].L+L+i.i.r+8@i.r+j.] }+_ 6.o.D.&.t.o.v &.s _.%...{.....b.` ` 3.}.@._.4.}.}.].}.",
|
||||
"....].%.Y (._...}... .[.}.].s Y (.b.&#o.] X+l+}.j.3.3.[.}.i.i._. .}.2.i.L+}.%.}.}.L+x.x.4@_#}.3._.}.[.3.3.8.L+L+x.j.}.}+L.R@8@:#<#[#}#:#|#/#1#3.x.x.L+j.r+R+i.=.i.^.L+8.L+i.x.i.3.i.i.R+8.8@8@r+8.8.:+e.%#6.U.U.w U.6..._.$.8..._.$.b.` 7.s %.[.4.3._.Y [.}.1.1.",
|
||||
"{.+.` %.s ).` f.` ].+. ... .p.%.6@(.&#N.] e.2#j.i.}.Q+}.}.3.L+i.i.}.4.j.8.L+}.j.i.x.x.}.L+4@L+R+3. .8.i.T+i.L+L+8.n.[.] L.e.8@3#4#]#5#<#6#7#8#(# .4@4@i.8@3.j.8.F+R+].8@i.L+}.j.L+i.j.8.L+i.8@I+8.8.} & B U.9#J F.N.(._.&.` 4._...v '.s %.&.Y -.3.}._._.1.3.3.3.",
|
||||
"f._.b.(.b.&.&.` s Y Y s +.s ..).(.o.o.o.6 ] a@8.R+i.8.i...].x.i.8.L+j.M+i.i.}.].j.i.i.I+8@}.L+i.9.8.8.x.i.L+}.j.=#8.n.] X+u.T+/#0#4#5#[#[#<#/#a#4@2.x.i.i.L+R+R+i.L+L+].L+i.i.3.i.8@8.8.R+8.8@8@M+]./ 6 o.D.A N.I.k.&.&.7.` 1.Y ..s &.).&.` .1._.Y _. . ._...8.",
|
||||
"s &.).c.$.b.).u &.s *+r s 9@v &.&.o.|@N.] L.v.j.}.i.8.x.i.i.8.i.j.i.4@9.R+j.i.j.i.8.8@R+8@4@R+I+[.8.8.w.I+R+n.j.].3. .6 L.P@9.]#b#4#<#[#c#c#d#e#x.}.i.L+8.8@R+[.j.R+8.8.i.i.x.i.8@L+L+L+8.8.8.8.8.8.} ^ t.o.|@|@k.k.k.Q.&.(.s ;.s %.` s v Y ` ..` _.:.(...#.s _.",
|
||||
").6.U.t.w 6./@|@A A % % N.h.F.Q.t.|@I.h.e.e.f#].i.j.[.[.i.8.j.I+I+J.j.].i.n.w.8.w.r+].r+j.8.w.N+j.8.8.8.9.9.8.[.3.}...3@L.u.}.2.4@x.4@c#c#[#g#h#9.j.}.].R+K+Q+8.Q+8.8.T+j.[.}.}.8.8.8.i.[.j.s+8.r+n.#+6 K.|@&.I.k.k.I.&.o.v s r '.b.%.u &.Y %.&.` ..(.` ..@.%.$.",
|
||||
"! ;+> > > %@%@> > > ]+'+> > > ' $+;+i#[+.@ #6 +@'+'+j#++++v@++k#++'+! )+)+)+x@> '+' ' > > ~++ ! &+' ' ' ' + 2 2 P ^ - L.L.u.f.s Y .Y Y .}.+.+.|.f.%+@+@+f.@+%+@+*@j#$+%+%+@+&+! @+%+l#++=+++++++++~+}+- ,+< $+;+;+;+> > > m#$+$+{+%@> m#;+{+> > > w@> > > > %@",
|
||||
".@.@.@ @+@h@.@.@.@`@.@.@.@ @.@.@+@.@h@~ 6 ] 6 .@+@+@+@t@ @+@+@h@+@+@.@, .#.@.@.@.@i@.@.@+@.@.@.@.@.@e e e e ^+e e e #L.e.}+L. #e e .@b e # #.@] ] ~ ] e # #e ^+ #^+ # #.@6 # #L. #j@e j@ # # #e .@] .@.@.@.@+@+@+@+@i@.#i@i@^+^+.@j@j@.@.@.@i@.@.@.@.@.@^+^+",
|
||||
"H@B B & & & {@G@m+& * * } & & & & * y.m+y.0+m+l+& _ _ _ 5+_ _ U 2 _ J L U * } :+& & * <.<.L V m+m+<.e.= y.y.& e.m+e.q.y.y.l+'@l+= e. 0+9+l+& & B I D I >@y.q.= B * n#m+6+} 5.5.5.* * = P J & 5.y.J L J 5.6+k@& _ _ _ J 5.5.5.* B o#>@4+B B } 5.5.} : L L } k@* ",
|
||||
"$ L.p#].].+.8.^.].n.=.+.+.8.].^.].n.n...}.].[.j...4@` 3.3.5@2.}.}.3.x.}.i.j.+.} L.8.8.8.R+u+8.L+R+8@R+8.n.8.Y+n.T+T+H+8.H+H+s+8.M+8.F+R+r+F+F+q@Q+|.@.+.H+].6 W.n.;.{.[.;.].[. .j.j.j.i.U@i.j.;.[.[.n.^.n.r q#r#].=.{.r [.f.S ^.=.U S u } r C.y+[.^.[.j.r+[.2. .",
|
||||
"q L.J+_.2.4.4.}.4@3.x.2._.3.3.3.3.4@3.2.2.2.2.2.2.4@4@4@5@4@4@2.2.2.2.4@2.3.1.}+L.F+i.L+9.x.Q@9.}.}.}.4@}.}.4@3.4@4@x.i.Q@Q@Q@Q@i.3.4@L+U@4@i.i.L+x.2.3.L+].] u.i._.1.2.5@2.x.i.9.4@5@5@4@3.4@4@4@3.x.x.}.3.[.G+}.}.3.3._.}.3.2.3.3. .` X+n.i.3.3.3.2.}.}.3.+.G+",
|
||||
"f.L..+3.2.2.d.2.i.j.i.3.2.}.5@}.3.2.2.2.2.2.2. .5@2.3.3.4@2.5@2.3.4@x.4@4@5@_.] L.*@U@4@3.4@1.2._._.2.2.3.4@2.2.2.2.2.5@5@5@3.5@3.}.L+3.Q@}.3.x.}.3.2.1.x.f.6 u.i.3.4@x.4@2.3.3.x.}.4@4@5@Q@4@4@4@i.4@i.R+i.}.x.i.}.}.3.3.4@9.9.i.i.i.+.] +.i._._.2.4... .3.3.}.",
|
||||
"S L.6 }.3.2._#2.1._.2.2.4@3.3.3.3.1.2.2.2.2.2. .5@2.5@5@5@2.2.4@5@4@2.4@4@4@s e b 6 x.3.2.4@Z 4.d.2.4.4. . .4@2._.3. .4. .2.2.2. .2.3.4@ .2.2.#.2._._._.3.&.1 ..i.}.x.3.2.4@3.3.}.4@4@4@4@x.`+Q@4@x.}.i.i.L+x.}.}.x.3.3.3.4@}.x.i.}.*+^ ` i.}.3.}._. .3. . . .",
|
||||
"f.L.v.3.4@2.4.2.3.x.4@3.2.3.3. .3.3._._.2.2.5@2.2.2.2.4@2.2.2.2.2.2.2.5@4@5@ .] L.u.}. .3. .3._.%.4._#4.2.2.2.2.2.4._.4.2.1.2.4.2.5@4@x.x.4@3. .2.4.s.:.d.b.$@( j.i.i.i.}. .3.3.5@x.4@2.5@5@x.i.i.x.j.}.].i.[.3.x.}.x.i. .3.3.}.i.}.}.-.6 .[. .3. .2.1.2.3.[.}.",
|
||||
"c.L. @}.3.3.4.4@4@3.5@3.5@3.}.3.3.2.2.2.5@2.3.2.4@2.5@4@2.4@2.2.2.2.2.4@4@4@ .] v.W.i.2.2.5@x.i.x.4@2.2.5@_.2.4.4.2.2.2.4.2.2.5@4@Q@i.s#i.}.i.1.4@_.4.4.2.Y V.( 3.3.x.}.x.}.4@x.3.}.3.x.i.i.L+R+L+}.9.}.L+8@[.3.4@3.5@4@3.3.3.}.i.[.}.s / Y 3.1._._.4._._.}.i.}.",
|
||||
"s L.6 }.3._.4.4@4@4@3.3.3.4@3.3.1.2._.2.2.2.5@2._#2.2.3.3.Q@5@5@_.3.4@3.2.5@3.] L.W.3.5@2.2.x.i.U@i.}.4@3.4@2.3.4@2.4@4@2.1.2.4@U@M+L+j.i.}.U@L+`+1._.}. .~.: 2 .L+R+i.[.i.}.x.3.i.L+`+L+i.L+8@i.4@}.[.i.L+}.4@1.}.3.3.4@2.2.3.L+L+8. .e.` 9.3.3.3._.x.}.}.3.}.",
|
||||
"#.L.Y.1._.1.4.2.4@4@3.4@4@3.3.}.2.2.3.5@4@3.3.2.2.2.4@4@2.4@4@2.5@5@2.4@2.2._.] v.W.}.3.5@2.4@5@4@x.x.4@x.}.3.}.}.}.x.x.5@x.x.4@L+8@i.i.L+8@8.L+L+3.1.}.3.).- } 3.i.i.x.i.}.x.x.3.i.x.4@}.L+i.i.3.3.x.i.}.L+}.i.4@}.5@4@3.3.4@}.j.L+9.` U+` 9. ._.1._. ... .}.3.",
|
||||
"+.L.+ 1.2.2.4.2.4@3.4@4@3.3.4@3.4@2.3.3.2._.3.1.4.2.3.3.x.x.3.2.3.4@5@3.2.5@3.e L.q+i.}.2.3.2.3.x.i.U@4@L+i.j.M+L+L+x.U@i.x.U@}.x.8@i.8@I+I+L+8.8@i.3.}._.~.S.} 3.3.}.j.i.3.3.j.3.x.i.Q@i.8@i.L+L+2.x.L+i.i.L+x.3.}.i.3.4@3.x.9.L+i.j.f.X++.i.}.}.}.}.i.+.+.i.}.",
|
||||
"s L.5 3._._.2.2._. .x.3.3.3.3.3.1.3.3.3.1.1._._.4@2.3.3.x.x.}._.3.4@3._.1.3.}.L.v.|.x.x.3.4@}.L+8.L+L+i.8@=#M+8.x.R+i.i.].8@i.}.R+r+H+t#M+8.r+M+=#i.}. .3.w ] + x.x.i.x.}.4@}.x.x.j.i.x.i.U@i.L+j.[.}.8.8.8.8.}.}.3.x.4@4@3.3.}...}.[.f.L.n.R+].C.+.}.C.G+C.G+G+",
|
||||
"e L.u.' @+@+> ) ) ) %+$+%+%+|.@+@+) %+@+@+$+) @+++$+%+@+++> *@++@+++++$+%+=+ @L.L.L.++=+=+) |.++*@k#*@k#*@k#u#k#=+=+++=+8.+.T+T+=+v#w#=+O++@Y+x#u#++*@) &+! X+q.- @+$+++=+$+%+%+@+%+++%+++@+@+> 7 ' '+' @+++++@+%+%+*+*+*+@ f.@ q+@+6 v.{ n.T+n.+._.|.f.n.n.f.",
|
||||
"X+q.e.X+q.e.X+e.X+e.L.] e.q.e.X+e.e.e.X+L.e.X+] X+e.e.u.L.6 9 ] 9 ] L.e e e ] e.L.L. #] e e ] L.] ] 6 ] e 6 ] ] ] b e #] L.] b ] ] ] #e ] e e e 6 e ] ] }+L.L.L.L.L. #b b #] e. # #] L.L.L.L.L.L.X+X+X+X+X+X+y#X+v.q.X+v.L.L.L.v.v.v.v.v.L.b # #L.z#L.L.b z#",
|
||||
"N.Q.,.,.y _ _ C@A#J I B J 4+4+5+4+4+B#= L.+ x Y ).` &.6.r p S X.^@S S T T ^@8 U E@X.U S U Y.X.U Y.S T $ u S $ T v @ L. #A.~.t.o.v /.s ~.).D.).o./@'.6.6.V.A U.D ).s *++.f.x ).o.).~.w 6.w T Y.W. X+& U U V S U S X.V V m+m+<.y.<.l+<.<.V W <.L T u T U p z K z ",
|
||||
"6@6@t.6@6@6@&.o.k.h.t.D.~.).D.&.t.b.I.( e ' _._._._. ._.}...}.[.x.}.}.x.}.}.3.}.}.3.3.x.3.3.3.3.-.}.3.3.-.].8.i.8.n.L.L.e.(. ...].].....-.[..._._._._._._._._._._.3.1._.` Y .3. ._._._.3...}.}./.N & s .3. . .Y ._.Z _. .....}. .` .}. .#.` .3.}.3.}. .3._.",
|
||||
"6@k.6@6@o.k.b.&.N.6.&.o.&.w D.&.6@b.6@( #' _._._.5@3.2.}.x.x.}.3.3.}.9.i.}.3.i.x.4@i.x.}.x.3.5@4@2.3.}.}.}.L+i.9.f.L.b ] (._.1.3._._.3. .1.3.1._. ._._._._._.4.4.2._.2._._.3._.3.2.3.1._.}.-.}.$ @#* Z _.2.2._._.3._._.@._.}.9. .}.[. .}.}.].}.3.3.[.}.9.3.[.1.",
|
||||
").&.&.6@t.b.6@6.7.&.~.o.o.6.~.b.t.t.k.3 #' Y 3.4@3.3._._.i.3.i.3.}.j.L+}.3.3.3.4@2.4@4@4@3.i.4@3.3.3.}.i.}.}.x.}.f. #b ] &. ..... ._.}.1.3. ._.2.2.2._._.2.4.4.4._#2.2.2._.2.d._.2.2.2.5@3. ._.) +#& .. .3. .3.}.}.2.3.i.3.i.i. .j.].+.3.[.[.}.9.9.[.].i.i.].].",
|
||||
"6.o.o.6@Q.t.!.o.I.K w 6.6.< ).6@o.t.b.' e + Y .3.}. .2.3.3.3.x.x.3.}.3.}.}.i.x.x.4@3.5@i.4@x.}.j.x.i.}._.}.}.L+i.f.L.L.L.% ...}.}.1.1.1.3. . .2.4.2.3.3._.4.4.4.4._.4.2.4.2.2.2.2.%.%.2.4@2.2.) C#y.^.j.i.-.}. .2.3.3.}.1.....8.]. . .}.8.8.i.i.}.i.[.].8.L+}.",
|
||||
"o.o.|@|@o.|@&.o.I.o.K.6.o.o.&.t.b.&.6@- b - ` }.x.3.x. .L+3.3.}.3.3.i.9.}.x.3.5@x.x.x.8.U@x.x.x.x._.3. .3.i.i.L+[.s L.L.L.x ..]. .}. .` _._.(.4.2.4.2.2.2. .4.4.2.4.` 2.2.4.2.4.2.2.2.2.2.2.2.2.@ D#&@=.T+[.}.}.+.i._.}. .}.i.[.[.}.}.+.[.8.8.+.L+i.j.i.].L+].}.",
|
||||
"F.t.t.t.K.o.7.o.k.&.t.t.7.t.6@6@b.o.b.- L.} _. .}.3.x._.3.3.3.x.3.3.3.x.3.}.x.}.x.x.U@3.2.3.x.3.x.3.}...x.9.}.L+i.s L.X+v.&. .}.+. ._._.` _.%.4.2._._.1.2.3.4.4.:.2.2.4._.2.2.2.4.2.4.4.4.2._._.< @#l+^.j.3.i.}.}._. .}...s }.}.{.i. .[.}.8.].9.x.`+j.].j.i.i.}.",
|
||||
"~.t.k.6.o.6@I.k.7.o.6@~.b.o.D.6.o.6.7.- #} _._.3.x.}._.i.}.3.x.3.3.}.i.i.}.}.3.x.9.x.}.3.3.i.x.x.i.-.1.3.}.}.8.}.*+A.v.M.Y Y ..3.1.3._...:.2._._.2._.1.2.2.%.2.4.d.2.2.2.2.4.:.2.2.4.2.2.5@2._.@ '@l+[.}.}.].i.}.}.}.}.i.}.}.9.}.}.[.}.}.i.i.r+j.8.Q+8.i.M+8.[.",
|
||||
"o.).&.k.&.t.I.o.7.).o.h.k.6@o.o.o.).t.- v.- _._.2.}.}.3.i.3.4@2.4@3.}.x.3.3.}.}.5@x.i.x.R+i.i.8@L++.i...}.L+8@R+x.n.v.v.V@b.(.].[.....Y ` %.4._._._.2.2. ._._._._._.4._.(._.%._._.2.2.2._._.3.1.r N u.[.x. .}.}. .[.}.[. . .+.i.9.9.[.r+L+Q+8.i.8.8.8.[.j.E#}.i.",
|
||||
"h.Q.b.k.6@b.6.).7.t.w 6@t.~.&.).~.6.o.- v.} _...3.3.3.3.}.1.3. .3.3.3.}.x.x.3...}.x.i.i.i.4@i.i.L+i.].[.j.R+j.[.[.n.A.v.N o.&...+.[...` .%.Y 1._.` .[. .` _._._._._._._._._._._.%.%.%._._...f./.M@F#i.}.x.3.3.3.}.}.x.}.j.i.[.}.i.G+].].8.8.8.8.j.r+I+8.8.8@}.",
|
||||
"w ).< 2 % % 2 G#V.: 2 ,.$@W+< i##+-+#+L.H#e.@ ) @ x .` -.` ` s s s @ @ f.|.#.+.[.8.[.i.}.i.8.8.].8.[.s T+T+|.n.@+ I#A.J#6.Y r R./.p ` r F V ^@<.^@^@=.}@S ` ..&.%.f... .Y .Y s %.4. .f.7 + 3@/.@#'@!+@+@+%+f.) &+%+*+@+|.f.*@n.n.!+@+f.n.T+T+T+|.+.+.i.+.T+K+",
|
||||
"K#L.L#a L.0 b #L.L.a K#0 # # # #e b L.L.v.L.L.L.L.L.L.L.M#C#M#M#N#P+N#L.L#0 K#c #e e #L.0 a f 0 L.f O#O#N#P#K#f |+Q#A.L.] L.h@+@.@j@6 .@.@] .@i@^+ # #~ +@e 6 6 6 ] e.e.<.R#} } & N v.L.v.S#A.1+N#z#L.L.L.L.z#Q#M#M#1+P+M#N#N#M#1+1+|+1+M#K#N#N#T#U#V#f f W#",
|
||||
"M.N q.0+y._@l+q.y.O 9+l+&@m+y.0+k@B.* * 0+0+y.y.y.v.k+X#Y#Z#'@m@'@`#Z#Y# $'@.$+#M#v.u.u.P@u.u.u.u.u.v.<.3@/ L * U+S.k@C S+P@d @' ( - ^ } :+} + + - } - 5 L.6 6 L.u.e.v.l++$a@'@l+.$.$V .$a@o@a@p+.$p+v._@u.<._@y.l+k+]@y.y.y.a+l+c@@$A.v.6+)@M c@@$9+l+M p+N ",
|
||||
"N v.% Z.G.t+`.n.K+R.n.}@].u+8.n.}.j.}. .}.].^.[.n.].F+T+[.F+^.Z.t+/.=.^.+.}.}.; #$I+8.8@R+x.8.8@8@L+i.i.Q@Q@$$}.4@4@x.L+L+x.U@Q@Q@}.x.4@4@Q@4@4@3.4@5@_.D y.+.j.i.i.L+i.].i.i.L+x.8.i.8@L+T+8.8.M+8.F+8.8.8.8.8.^.q@r+r+I+8.r+w.x+*#@+V@&@h._ t.%$b.b.o.D.6@o.",
|
||||
"I#D#<.T+i.i.x.3.3.x.x.}.}.}.9.x.3.x.i.L+i.`+U@Q@4@4@R+i.x.i.x.i.x.x.4@..2.3.}.e.d r+i.L+j.i.3.j.L+L+Q@4@4@4@x.4@L+Q@4@4@9.U@x.4@4@Q@4@4@4@4@4@4@4@4@Q@4@}.e.M@f.i.9.4@i.L+x.3.x.U@x.i.i.Q@i.r+8.s#8@8@8@8@8@8.R+}.&$8.8.8@s#s#Q+H+M+r+f.@#+#% h.Y 6@b.b.o.o.o.b.",
|
||||
"N#C#R@8.R+i.L+L+L+L+R+9.3.[.i.1.}.R+R+8@r+8@L+x.Q@Q@L+i.i.U@8@L+Q@j.[.Q@4@x.3.; ~ 8.`+8@i.L+U@x.i.i.x.Q@4@Q@Q@Q@Q@4@Q@x.`+i.4@4@4@5@4@4@4@4@4@4@4@4@4@4@}.= @#f.i.L+L+8@L+L+L+L+8@L+i.L+Q@8@8@8@8@8.8.s+R+R+8@i.}.9.8.r+8.M+r+I+I+r+r+/.C#@#w |@t.~.&.&.b.o.o.&.",
|
||||
"L.S#a@L+L+L+i.U@U@8@R+i.}.[.].3.3.8@8@L+8@L+L+L+$$4@)#8@L+8@L+L+8@8@i.L+i.i.x._+6 s+x.Q@i.x.i.i.i.x.3.Q@i.4@4@i.$$x.x.Q@i.4@x.}.Q@x.Q@x.4@4@4@4@Q@x.4@4@3.X+M S i.R+R+i.i.x.8@L+8@L+i.L+$$8@8@j.r+8.8.8@8.R+8@`+i. .r+r+r+8@r+r+M+M+].n.@#+#K 6.o.*$6.6.D.o.o.b.",
|
||||
"X+I#2#R+U@L+L+8@8@8@8.].i.T+[.3.i.8@8@i.L+i.Q@4@4@Q@L+i.R+8@8@L+x.8@[.i.U@L+i.6 L.8.U@i.L+x.x.U@x.x.Q@Q@$$Q@Q@9.i.8.L+x.L+8@L+x.4@x.4@x.i.4@4@4@Q@Q@Q@4@}.q.@# +L+L+}...L+i.i.i.i.L+U@Q@i.8@8@8.R+8.r+8.8@8.].8.L+8.w.8.8.8.8@r+Q+r+G+`.@#.$% b.% V.6.D.D.).Y o.",
|
||||
"e.N a@I+8@8@i.L+8@r+i.[.}.|.8.}.L+8.8@Q@8@i.x.U@4@4@8@=$I+8@8@8@8.8@i.j.U@R+L++@ @j.`+4@i.U@i.L+4@..x.i.x.Q@U@j.U@i.4@}.x.U@4@4@Q@9.9.4@x.i.Q@Q@x.4@x.Q@ .e.'@S U@L+8.i.i.9.8.i.L+L+L+i.L+8@8@r+r+8@8.8.R+L+8.8.i.L+8@r+8.9.r+i.r+Y+w./.C#+#% *$o.o.6.D.&.&.6@o.",
|
||||
"v.I#S+8.L+L+8@L+8@8@L+}.3.[.}.3.L+i.L+].L+9.Q@`+U@}.L+L+-$8@L+L+x.L+i.L+x.8@i.~ 6 j.`+}.L+8@L+U@i.x.L+4@Q@Q@Q@Q@x.L+i.Q@x.x.`+4@Q@4@Q@i.i.Q@4@4@Q@U@U@U@ .e.s@-@}.L+i.L+j.i.L+U@8@8.8.i.i.8.8@8.L+8.M+8.R+8.8.L+9.r+s#L+].8.8.}.T+H+i.`.;$I#% *$!.6.D.t.D.A o.).",
|
||||
"v.I#>$=#8@8@L+8@8@-$8.].].[. .}.`+r+8@L+L+}.L+U@U@x.8@8@-$L+L+L+L+j.L+L+L+R+i..#e L+x.8.R+i.8@U@i.L+U@x.x.x.4@L+8@8@U@i.i.`+8@i.4@x.x.L+i.`+x.i.`+x.8@L+}.e.'@/.i.8.8@L+L+L+i.L+8@8@i.L+Q@8@8@L+8@i.i.i.M+s#s#L+8.s#8.s#s#i.i.8@s+M+G+.+,$v.n#6.6.K x D.x '.o.Y ",
|
||||
"I#@#'$8@8@8@i.8@8@8@8.j.i.i.n.i.8@8@L+8@L+8.L+8@i.Q@)#8@)$-$R+r+L+x.R+i.i.L+3.6 L.].8.L+L+R+8.L+L+L+i.i.i.`+x.8@-$L+8@R+j.i.i.i.i.i.}.i.9.x.U@i.U@x.L+[.].e.@#W i.L+8.r+R+Q@L+s#i.L+8@8@8@I+8.I+8@M+=#M+Q+8.s#r+8.s#8.s#r+8@s#I+=#=#u+-@I#'@_ o.W+# w [ o.).).c.",
|
||||
"+#@#[@8@U@x.`+L+L+8@L+T+n.]./.9.L+i.L+I+R+8@R+r+R+L+N+I+=#r+L+i.L+j.r+L+i.i.i.u.u.}.i.i.8.8.8.j.j.r+w.8.G+L+i.I+I+M+Q+F+T+8.].T+T+s+].F+M+8.8.8.8.Q+j.T+T+e.,@l+j.8.8.8.L+].I+R+M+I+I+8.r+8.R+[.s+8@8@s#8.r+r+8.s#L+r+L+L+8@r+I+H+H+!$^.~$ $Q.6.Z+w w $ w % .+/.",
|
||||
"@#@#v.3 ; ' @+@+)+)+!+)+)++@~ , +@+@+@+@w#+@~ h@+@.@`@ @.@ @+@+@.@t@t@t@t@t@.@1+D#<., , 6 @_+.+e P@d }+9 ] ] 9 e d @d {$d 6 {$ @ @6 6 6 6 { <.3@e.3@e.L.C#'@'@u.<._+} /./.-@.+; -@ @ @.+.+W.<.3@+ q+X+L.6 d u.6 6 6 6 d e e ]$u.v.0 T#^$/$`#($_$O#i :$<$[$}$[$",
|
||||
"@#@#M#L.1+L#L.] |$e.L.] L.L.L.v.v.v.v.N#A.X+e.e.L.] X+L.L.L.L.L.] ] #e e ] ] L.L.R@+#'@C#C#@#+#+#@#~$`#Y#Y#Y#1$'@I#N#C#2$e.] e.^ ^ = e._@v._@k+v.v.v.v.N@v.l+m@O .$a@I#v.k+M k+v.N l+M.M.M.N M@@#@#C#s@k+L.= q.q.M.M.V@I#'@@#.$M.N@c@k+v.c@3$`#.$c@4$+#+#+#5$6$",
|
||||
"[ z.f.H.%.b._.:.%._._.%.(.%._.` Y D.e.L.e.Y }.j.j.j.j.^.].].n./.n.^.G+^.y+F+F+^.s+K+t+t+s+s+K+t+t+t+t+t+t+Z.r@t+^@} O#C#_@n.].R+j.R+L+8.r+H+I+I+8.I+H+I+I+I+8.F+H+r+H+I+M+C+x+=#H+H+8.H+v+v+v+Z.S } O.{.K+*#u+^.K@G+=.`.^.8.].s+r+r+8.R+8.u+w.#$w.!$A+7$8$9$0$a$",
|
||||
"^.[...[.Z _.1._._.3.3._._.` 1.3.}.3.;+.@v.r }.j.x.x.x.i.}.L+9.j.[.9.L+i.x.i.8.L+i.8@8.`+i.x.}.8.R+8.8.].j.].^.^.S 1 L.Q#u.s+M+=#8.I+i.8.r+8@r+I+8@I+-$L+N+I+8@8.r+8@r+8.8.r+R+=#8.8.x.s+I+8.M+8.f.l+&@R.[.i.x.2.x.x.3.i.}.3.x.x.U@`+i.`+r+s#I+N+b$N+c$I+c$d$e$f$",
|
||||
"9.4@ .|.].}.3.x.x.j.i._.}.9.}.L+].}.' L.+#n.}.x.i.i.L+L+i.}.3.x.8.i.i.i.8.L+i.i.x.L+L+8@8@i.L+8@i.j.8@L+R+j.i.8...^ 0 N#V+8.8@8@8@8.R+L+i.L+8@R+L+s#8@I+I+i.j.8.L+8@8.8@8.R+8.8.8@8@i.8.R+I+L+8.) I#'@r#r+8.L+i.i.3.}.8.i.].}.i.8@R+8@r+I+r+I+c$g$!$c$c$c$h$i$j$",
|
||||
"L+i.3.8.].[.i.i.i.j.x.}.i.i.i.}.x.1.3 v.I#K+[.j.i.3.x.3.}.}.3.}.}.i.L+L+8.L+x.x.x.i.`+4@4@L+8@8@I+L+L+i.x.i.^.^.f.g.N#,$u.j.I+8@8.L+L+L+R+8@8@L+8@8@k$I+8.R+T+R+r+8.j.L+r+R+8.8@L+8@x.R+8.R+L+8./.D#@#G+r+8.8.L+L+9.r+L+8.8@r+L+r+r+8.=$8.8@=#!$I+-$c$I+=#i$i$l$",
|
||||
"8@I+j.^.` }.8@R+R+L+L+3.i.].j.i.3. .[+v.+#S@8.L+i.}.}.i.}.9.i.L+9.}.}.}.i.i.j.R+L+8@L+i.3.i.x.j.L+2.i.i.L+i.[.8.s :+C#+#_@8.r+8@R+8.L+L+L+8.8@R+R+R+L+L+i.r+r+8@8.8.8.8@L+3.L+L+L+r+x.8.L+I+8.8.+ s@@#r#r+s#8.L+8@}.w.I+G+Q+j.L+I+8@=$I+8@8@=#N+N+!$!$!$d$c$m$n$",
|
||||
"r+8@r+]._.}.8@-$8@i.L+3.i.i.L+3.]...] 1+C#S@}.x.}.L+}.i.}.x.3.3.x.j.}.i.j.i.].j.j.i.8.[.].8.i.8@8@x.}.8@j.9.8.[.).:+C#@#S+L+8.L+8@L+i.L+L+i.8@L+8@L+8@8.8@L+i.i.8.R+8.L+R+L+L+i.8.L+2.r+8.8@j.L++ C#~$C.8@r+8@i.8.i.8.i.j.L+8@8@-$I+r+I+s#I+r+t#c$N+c$N+f$8$o$i$",
|
||||
"L+k$M+F+1.3.8.k$U@i.i.3.2.}.i.L+j...^ A.+#u+x.i.i.i.3.}.}.}.x.i.i.9.}.i.L+3.L+i.L+`+4@Q@L+Q@x.L+L+i.I+L+x.j.R+].+.^ ($@#_@8.8.r+8.8.9.L+L+L+L+L+L+8@8.I+N+8@8.R+8@8.8@L+8@].8.i.L+R+x.8.8.=#8.R++ s@p$F+r+s#8.8.8.j.9.}.i.8.8@8@8@M+r+I+s#!$=#c$c$)#c$i$f$j$q$f$",
|
||||
"L+Q+Q+r+ .}.8.i.j.j.L+1.x.i.}.[.j.3.6 v..$S@3.L+}.}.}.}.i.L+i.L+i.i.j.j.i.j.L+i.U@i.i.U@i.8.L+r+8@R+R+i.j.8.s+].+.} C#'@_@8.I+r+r+R+x.8@8.8@8@8@k$8@8@8@8@i.8@i.8.8.L+8.8@L+}.L+8.i.4@8.8.L+R+8.q+@#~$r#M+I+r+i.8@x.i.i.s#i.L+I+I+r+M+)$N+I+c$c$I+8$r$0$0$i$s$t$",
|
||||
"w.G+s+{...].r+I+R+8.].-.[.[.[.8.j...6 L.C#K+}.8.3.[.].i.R+i.8.x.}.[.i.8.i.j.9.j.j.L+r+N+8@8.R+q@q@R+R+[.8.w.j.n.*+^ C#~$S+8.r+R+8@I+].8@L+8@R+R+8@8@8@R+L+L+R+L+T+L+8.8.i.x.i.L+8@=.9.8.R+L+8.].+ I#~$R.8.w.r+s#].}.i.8@I+r+8@r+I+I+i$=$!$!$c$I+u$i$d$i$f$v$w$x$",
|
||||
"t+K@B+G+..#.F+s+G+^.....+.^.8.8.].+.6 L.D#Z.[...+.[.}. .-.}.....-.#.+.Q K@n.{.[.}.}. .3.}.C.C.y$].C.w.r#t+t+B+^.Q e.C#`#.+s+x+w.x+H+i.r+M+R+L+I+8@8@R+r+8@L+R+L+L+L+i.j.i.L+8@L+j.L+i.8.j.R+j.j.S @#~$2+r+r+8.r+8.R+8@8.r+8@r+I+=#8$I+q@q@k$N+I+!$8$i$z$f$v$q$A$",
|
||||
"f.#.f.*+9@9@*+f.@ #. .` .s s *+@ x L.M.J#3@@ x [ *+ .` s ` .1.` {.#.r @ @ f.s }... . . . .#.s }...s s . . .s @ v.C#~$E@r [.].+.+.+.+.+.+.|.@+K+K+K+*@F+`.B$*@@+S@n.n.T+8.T+T+T+T+|.n.8.T+T+8.-@C#p$}@F+`.n.F+*@n.*@*@F+n.*@K+S@S@Y+s+M+S@H+H+t#x+A+C$D$E$F$G$",
|
||||
"f.#.@ @ # . $ f.9@@ 9@s ....s &+&+*+K#1+N#6 7 ~ ~ ! 9@< 9@s ' # ) &+#.&+) ! , ! # . ! # ; ' ~ 6 ' ~ ' ' ) @ s s + H$C#H$}+< { ^ $ $ < {.*+*++ ^ 6 e.v.M#~ 9 _+d _+d d @S@B$ @~ B$F+S@!+!+F+B$B$e C#C#|+_+e d d d e |+c #d I$(+(+a P#J$J$K$L$M$M$N$M$O$P$Q$R$S$",
|
||||
"`#@#4$'@'@c@2$2$4$e.& e.y.y.& n#n#n#B q.q.@$'@m@y.k+q.q.l+l+v.v.q.k+k+N '@~$`#H$6 V E+<.E@U $ # + 2 9#U & } l.% 8 } } W.} W.+ T 9#_ A U 8 $ 8 W.<.y.q.v.L.L.e.e.<.G@B.5.& G@* } 5.& & & = = q.M.M.M.M.v.y.B B.W.X.y.<.P V@y.y._@N +#T$:$U$V$W$V$U$W$n W$X$Y$Z$"};
|
|
@ -1,68 +0,0 @@
|
|||
/* XPM */
|
||||
static char * wall_64_xpm[] = {
|
||||
"64 64 1 1",
|
||||
" c #FFFFFF",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
26
games/enemy.c
Normal file
26
games/enemy.c
Normal file
|
@ -0,0 +1,26 @@
|
|||
int pathfinding(char **map, char **map_cpy, int x, int y, int *check)
|
||||
{
|
||||
if (map[x][y] == 'E')
|
||||
return (1);
|
||||
map_cpy[x][y] = 'x';
|
||||
if (map_cpy[x][y + 1] != '1' && map_cpy[x][y + 1] != 'x')
|
||||
if (is_possible(map, map_cpy, x, y + 1, check))
|
||||
*check = 1;
|
||||
if (map_cpy[x + 1][y] != '1' && map_cpy[x + 1][y] != 'x')
|
||||
if (is_possible(map, map_cpy, x + 1, y, check))
|
||||
*check = 1;
|
||||
if (map_cpy[x - 1][y] != '1' && map_cpy[x - 1][y] != 'x')
|
||||
if (is_possible(map, map_cpy, x - 1, y, check))
|
||||
*check = 1;
|
||||
if (map_cpy[x][y - 1] != '1' && map_cpy[x][y - 1] != 'x')
|
||||
if (is_possible(map, map_cpy, x, y - 1, check))
|
||||
*check = 1;
|
||||
if (!has_element(map_cpy, 'C') && *check)
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
void move_enemy(t_data *data)
|
||||
{
|
||||
|
||||
}
|
131
games/init.c
Normal file
131
games/init.c
Normal file
|
@ -0,0 +1,131 @@
|
|||
#include "../so_long.h"
|
||||
|
||||
int key_hook(int key, t_data *data)
|
||||
{
|
||||
if (key == K_ESC)
|
||||
quit(data);
|
||||
else if (key == K_LEFT)
|
||||
move(data, -1, 0);
|
||||
else if (key == K_RIGHT)
|
||||
move(data, 1, 0);
|
||||
else if (key == K_UP)
|
||||
move(data, 0, -1);
|
||||
else if (key == K_DOWN)
|
||||
move(data, 0, 1);
|
||||
data->update = 1;
|
||||
return (0);
|
||||
}
|
||||
|
||||
static void init_data(t_data *data)
|
||||
{
|
||||
data->update = 1;
|
||||
data->size = 128;
|
||||
data->x_player = 1;
|
||||
data->y_player = 1;
|
||||
data->x_ene = -1;
|
||||
data->y_ene = -1;
|
||||
data->move = 1;
|
||||
data->tick = 0;
|
||||
data->mlx = mlx_init();
|
||||
mlx_get_screen_size(data->mlx, &data->w_screen, &data->h_screen);
|
||||
data->imgs.ply = (void**)malloc(sizeof(void*) * 8);
|
||||
data->imgs.ply[0] = mlx_xpm_file_to_image(data->mlx, "assets/player_0.xpm", &data->size, &data->size);
|
||||
data->imgs.ply[1] = mlx_xpm_file_to_image(data->mlx, "assets/player_1.xpm", &data->size, &data->size);
|
||||
data->imgs.ply[2] = mlx_xpm_file_to_image(data->mlx, "assets/player_2.xpm", &data->size, &data->size);
|
||||
data->imgs.ply[3] = mlx_xpm_file_to_image(data->mlx, "assets/player_3.xpm", &data->size, &data->size);
|
||||
data->imgs.ply[4] = mlx_xpm_file_to_image(data->mlx, "assets/player_0*.xpm", &data->size, &data->size);
|
||||
data->imgs.ply[5] = mlx_xpm_file_to_image(data->mlx, "assets/player_1*.xpm", &data->size, &data->size);
|
||||
data->imgs.ply[6] = mlx_xpm_file_to_image(data->mlx, "assets/player_2*.xpm", &data->size, &data->size);
|
||||
data->imgs.ply[7] = mlx_xpm_file_to_image(data->mlx, "assets/player_3*.xpm", &data->size, &data->size);
|
||||
data->imgs.bg = mlx_xpm_file_to_image(data->mlx, "assets/background.xpm", &data->size, &data->size);
|
||||
data->imgs.wall = (void**)malloc(sizeof(void*) * 3);
|
||||
data->imgs.wall[0] = mlx_xpm_file_to_image(data->mlx, "assets/wall_0.xpm", &data->size, &data->size);
|
||||
data->imgs.wall[1] = mlx_xpm_file_to_image(data->mlx, "assets/wall_1.xpm", &data->size, &data->size);
|
||||
data->imgs.wall[2] = mlx_xpm_file_to_image(data->mlx, "assets/wall_2.xpm", &data->size, &data->size);
|
||||
data->imgs.col = (void**)malloc(sizeof(void*) * 3);
|
||||
data->imgs.col[0] = mlx_xpm_file_to_image(data->mlx, "assets/collectible_0.xpm", &data->size, &data->size);
|
||||
data->imgs.col[1] = mlx_xpm_file_to_image(data->mlx, "assets/collectible_1.xpm", &data->size, &data->size);
|
||||
data->imgs.col[2] = mlx_xpm_file_to_image(data->mlx, "assets/collectible_2.xpm", &data->size, &data->size);
|
||||
data->imgs.exit = (void**)malloc(sizeof(void*) * 3);
|
||||
data->imgs.exit[0] = mlx_xpm_file_to_image(data->mlx, "assets/exit_0.xpm", &data->size, &data->size);
|
||||
data->imgs.exit[1] = mlx_xpm_file_to_image(data->mlx, "assets/exit_1.xpm", &data->size, &data->size);
|
||||
data->imgs.exit[2] = mlx_xpm_file_to_image(data->mlx, "assets/exit_2.xpm", &data->size, &data->size);
|
||||
data->imgs.ene = mlx_xpm_file_to_image(data->mlx, "assets/enemy.xpm", &data->size, &data->size);
|
||||
}
|
||||
|
||||
int trgb(int t, int r, int g, int b)
|
||||
{
|
||||
return (t << 24 | r << 16 | g << 8 | b);
|
||||
}
|
||||
|
||||
|
||||
int render(t_data *data)
|
||||
{
|
||||
/*if (data->tick >= 5 && data->x_ene != -1)
|
||||
{
|
||||
data->tick = 0;
|
||||
move_enemy(data);
|
||||
}
|
||||
else
|
||||
data->tick++;*/
|
||||
if (data->update == 1)
|
||||
{
|
||||
draw(data);
|
||||
mlx_put_image_to_window(data->mlx, data->mlx_win, data->imgs.bg, 0, 0);
|
||||
mlx_string_put(data->mlx, data->mlx_win, 100, 100, trgb(0, 150, 0, 0), ft_itoa(data->move));
|
||||
data->update = 0;
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
int quit(t_data *data)
|
||||
{
|
||||
int i;
|
||||
|
||||
mlx_destroy_image(data->mlx, data->imgs.bg);
|
||||
i = 0;
|
||||
while (i < 8)
|
||||
mlx_destroy_image(data->mlx, data->imgs.ply[i++]);
|
||||
free(data->imgs.ply);
|
||||
i = 0;
|
||||
while (i < 3)
|
||||
mlx_destroy_image(data->mlx, data->imgs.wall[i++]);
|
||||
free(data->imgs.wall);
|
||||
i = 0;
|
||||
while (i < 3)
|
||||
mlx_destroy_image(data->mlx, data->imgs.col[i++]);
|
||||
free(data->imgs.col);
|
||||
i = 0;
|
||||
while (i < 3)
|
||||
mlx_destroy_image(data->mlx, data->imgs.exit[i++]);
|
||||
free(data->imgs.exit);
|
||||
mlx_destroy_image(data->mlx, data->imgs.ene);
|
||||
mlx_clear_window(data->mlx, data->mlx_win);
|
||||
mlx_destroy_window(data->mlx, data->mlx_win);
|
||||
mlx_destroy_display(data->mlx);
|
||||
mlx_loop_end(data->mlx);
|
||||
i = 0;
|
||||
while (data->map[i])
|
||||
free(data->map[i++]);
|
||||
free(data->map);
|
||||
free(data->mlx);
|
||||
exit(0);
|
||||
return (0);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
t_data data;
|
||||
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
init_data(&data);
|
||||
if (get_map(argv, &data) == NULL)
|
||||
return (1);
|
||||
data.mlx_win = mlx_new_window(data.mlx, data.w_screen, data.h_screen, "lili meli");
|
||||
mlx_hook(data.mlx_win, 17, 0, quit, &data);
|
||||
mlx_key_hook(data.mlx_win, key_hook, &data);
|
||||
mlx_loop_hook(data.mlx, render, &data);
|
||||
mlx_loop(data.mlx);
|
||||
return (0);
|
||||
}
|
170
games/map.c
Normal file
170
games/map.c
Normal file
|
@ -0,0 +1,170 @@
|
|||
#include "../so_long.h"
|
||||
|
||||
void *read_map(char *argv[], t_data *data)
|
||||
{
|
||||
char *tmp_map;
|
||||
char *map;
|
||||
int i;
|
||||
int fd;
|
||||
|
||||
fd = open(argv[1], O_RDONLY);
|
||||
if (fd == -1)
|
||||
return NULL;
|
||||
i = 0;
|
||||
map = NULL;
|
||||
tmp_map = NULL;
|
||||
while (i == 0 || tmp_map != NULL)
|
||||
{
|
||||
tmp_map = get_next_line(fd);
|
||||
if (tmp_map && map)
|
||||
map = ft_strjoin_free(map, tmp_map, 1);
|
||||
else if (tmp_map)
|
||||
map = ft_strdup(tmp_map);
|
||||
free(tmp_map);
|
||||
i++;
|
||||
}
|
||||
data->map = ft_split(map, '\n');
|
||||
data->h_map = i - 1;
|
||||
free(map);
|
||||
return (&data->map);
|
||||
}
|
||||
|
||||
int is_rectangular(t_data *data, char **map)
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
int w_map;
|
||||
|
||||
x = 0;
|
||||
w_map = -1;
|
||||
while (map[x])
|
||||
{
|
||||
y = 0;
|
||||
while (map[x][y])
|
||||
{
|
||||
if (map[x][y] == ' ')
|
||||
return (0);
|
||||
y++;
|
||||
}
|
||||
if (w_map != -1 && y != w_map)
|
||||
return (0);
|
||||
w_map = y;
|
||||
x++;
|
||||
}
|
||||
data->w_map = w_map;
|
||||
return (1);
|
||||
}
|
||||
|
||||
int is_surrounded_by_wall(char **map, int h_map)
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
|
||||
x = 0;
|
||||
y = 0;
|
||||
|
||||
while (map[x] && map[x][y])
|
||||
{
|
||||
if (map[x][y] != '1')
|
||||
return (0);
|
||||
y++;
|
||||
if (!map[x][y] && h_map - 1 != x)
|
||||
{
|
||||
x = h_map - 1;
|
||||
y = 0;
|
||||
}
|
||||
}
|
||||
while(x > 0)
|
||||
{
|
||||
if (!map[x] || map[x][0] != '1' || map[x][y - 1] != '1')
|
||||
return (0);
|
||||
x--;
|
||||
}
|
||||
return (1);
|
||||
}
|
||||
|
||||
int is_possible(char **map, char **map_cpy, int x, int y, int *check)
|
||||
{
|
||||
if (map[x][y] == 'E')
|
||||
return (1);
|
||||
map_cpy[x][y] = 'x';
|
||||
if (map_cpy[x][y + 1] != '1' && map_cpy[x][y + 1] != 'x')
|
||||
if (is_possible(map, map_cpy, x, y + 1, check))
|
||||
*check = 1;
|
||||
if (map_cpy[x + 1][y] != '1' && map_cpy[x + 1][y] != 'x')
|
||||
if (is_possible(map, map_cpy, x + 1, y, check))
|
||||
*check = 1;
|
||||
if (map_cpy[x - 1][y] != '1' && map_cpy[x - 1][y] != 'x')
|
||||
if (is_possible(map, map_cpy, x - 1, y, check))
|
||||
*check = 1;
|
||||
if (map_cpy[x][y - 1] != '1' && map_cpy[x][y - 1] != 'x')
|
||||
if (is_possible(map, map_cpy, x, y - 1, check))
|
||||
*check = 1;
|
||||
if (!has_element(map_cpy, 'C') && *check)
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*int is_possible(t_data *data)
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
char **map;
|
||||
|
||||
x = data->x_player;
|
||||
y = data->y_player;
|
||||
map = ft_strdups(data->map);
|
||||
while (data->map[x][y] != 'E')
|
||||
{
|
||||
map[x][y] = 'x';
|
||||
if (map[x][y + 1] != '1' && map[x][y + 1] != 'x')
|
||||
y++;
|
||||
else if (map[x + 1][y] != '1' && map[x + 1][y] != 'x')
|
||||
x++;
|
||||
else if (map[x - 1][y] != '1' && map[x - 1][y] != 'x')
|
||||
x--;
|
||||
else if (map[x][y - 1] != '1' && map[x][y - 1] != 'x')
|
||||
y--;
|
||||
else
|
||||
return(0);
|
||||
}
|
||||
return (1);
|
||||
}*/
|
||||
|
||||
void *get_map(char *argv[], t_data *data)
|
||||
{
|
||||
int i;
|
||||
char **map_cpy;
|
||||
|
||||
if (read_map(argv, data) == NULL)
|
||||
return (NULL);
|
||||
if (!has_element(data->map, 'C') || !has_element(data->map, 'E') || !has_element(data->map, 'P') || !has_element(data->map, '1'))
|
||||
{
|
||||
write(1, "Error\nIl manque des elements", 28);
|
||||
return (NULL);
|
||||
}
|
||||
if (!is_rectangular(data, data->map))
|
||||
{
|
||||
write(1, "Error\nLa carte n'est pas rectangulaire", 38);
|
||||
return (NULL);
|
||||
}
|
||||
if (!is_surrounded_by_wall(data->map, data->h_map))
|
||||
{
|
||||
write(1, "Error\nLa carte n'est pas entoure de mur", 39);
|
||||
return (NULL);
|
||||
}
|
||||
data = set_position_player(data, get_position(data->map, 'P'));
|
||||
i = 0;
|
||||
map_cpy = ft_strdups(data->map);
|
||||
if (!is_possible(data->map, map_cpy, data->y_player, data->x_player, &i))
|
||||
{
|
||||
write(1, "Error\nLa carte est impossible a faire", 37);
|
||||
return (NULL);
|
||||
}
|
||||
i = 0;
|
||||
while (map_cpy[i])
|
||||
free(map_cpy[i++]);
|
||||
free(map_cpy);
|
||||
return (data);
|
||||
}
|
||||
|
34
games/player.c
Normal file
34
games/player.c
Normal file
|
@ -0,0 +1,34 @@
|
|||
#include "../so_long.h"
|
||||
|
||||
static int get_new_element(t_data *data, int x, int y)
|
||||
{
|
||||
return(data->map[data->y_player + y][data->x_player + x]);
|
||||
}
|
||||
|
||||
static void set_new_element(t_data *data, int x, int y)
|
||||
{
|
||||
data->map[data->y_player + y][data->x_player + x] = '0';
|
||||
}
|
||||
|
||||
void *set_position_player(t_data *data, t_xy *xy)
|
||||
{
|
||||
data->x_player = xy->x;
|
||||
data->y_player = xy->y;
|
||||
free(xy);
|
||||
return (data);
|
||||
}
|
||||
|
||||
void move(t_data *data, int x, int y)
|
||||
{
|
||||
if (get_new_element(data, x, y) == '1')
|
||||
return ;
|
||||
if (get_new_element(data, x, y) == 'C')
|
||||
set_new_element(data, x, y);
|
||||
if (get_new_element(data, x, y) == 'E')
|
||||
if (end(data))
|
||||
return ;
|
||||
data->x_player += x;
|
||||
data->y_player += y;
|
||||
ft_putnbr_fd(data->move++, 1);
|
||||
ft_putchar_fd('\n', 1);
|
||||
}
|
44
games/position.c
Normal file
44
games/position.c
Normal file
|
@ -0,0 +1,44 @@
|
|||
#include "../so_long.h"
|
||||
|
||||
t_xy *get_position(char **map, char c)
|
||||
{
|
||||
int y;
|
||||
t_xy *xy;
|
||||
|
||||
y = 0;
|
||||
xy = NULL;
|
||||
while (map[y])
|
||||
{
|
||||
if (ft_strchr_gnl(map[y], c) != -1)
|
||||
{
|
||||
xy = ft_calloc(1, sizeof(t_xy));
|
||||
xy->x = ft_strchr_gnl(map[y], c);
|
||||
xy->y = y;
|
||||
break;
|
||||
}
|
||||
y++;
|
||||
}
|
||||
return (xy);
|
||||
}
|
||||
|
||||
int has_element(char **map, char c)
|
||||
{
|
||||
t_xy *xy;
|
||||
|
||||
xy = get_position(map, c);
|
||||
if (xy == NULL)
|
||||
{
|
||||
free(xy);
|
||||
return (0);
|
||||
}
|
||||
else
|
||||
{
|
||||
free(xy);
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
|
||||
char get_element(t_data *data, t_xy xy)
|
||||
{
|
||||
return (data->map[xy.y][xy.x]);
|
||||
}
|
13
games/quit.c
Normal file
13
games/quit.c
Normal file
|
@ -0,0 +1,13 @@
|
|||
#include "../so_long.h"
|
||||
|
||||
int end(t_data *data)
|
||||
{
|
||||
if (get_position(data->map, 'C') == NULL)
|
||||
quit(data);
|
||||
return (1);
|
||||
}
|
||||
|
||||
void all_free(t_data *data)
|
||||
{
|
||||
(void)data;
|
||||
}
|
60
games/render.c
Normal file
60
games/render.c
Normal file
|
@ -0,0 +1,60 @@
|
|||
#include "../so_long.h"
|
||||
|
||||
static void *assets(t_data *data, int x, int y)
|
||||
{
|
||||
int dist;
|
||||
char c;
|
||||
|
||||
c = data->map[y][x];
|
||||
dist = sqrt(pow(x - data->x_player, 2) + pow(y - data->y_player, 2)) - 1;
|
||||
if (dist > 2)
|
||||
dist = 2;
|
||||
if (c == '0' || c == 'P')
|
||||
return (data->imgs.bg);
|
||||
else if (c == '1')
|
||||
return (data->imgs.wall[dist]);
|
||||
else if (c == 'C')
|
||||
return (data->imgs.col[dist]);
|
||||
else if (c == 'E')
|
||||
return (data->imgs.exit[dist]);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
void draw(t_data *data)
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
int range;
|
||||
|
||||
if (has_element(data->map, 'C'))
|
||||
range = 2;
|
||||
else
|
||||
{
|
||||
if (data->x_ene == -1)
|
||||
data->x_ene = data->x_player;
|
||||
range = 4;
|
||||
}
|
||||
x = data->x_player - range;
|
||||
while (x <= data->x_player + range)
|
||||
{
|
||||
while (x < -1)
|
||||
x++;
|
||||
y = data->y_player - range;
|
||||
while (y <= data->y_player + range)
|
||||
{
|
||||
while (y < -1)
|
||||
y++;
|
||||
if (x == data->x_player && y == data->y_player)
|
||||
if (has_element(data->map, 'C'))
|
||||
mlx_put_image_to_window(data->mlx, data->mlx_win, data->imgs.ply[(x + y) % 4], data->w_screen / 2, data->h_screen / 2);
|
||||
else
|
||||
mlx_put_image_to_window(data->mlx, data->mlx_win, data->imgs.ply[((x + y) % 4) + 4], data->w_screen / 2, data->h_screen / 2);
|
||||
else if (y < 0 || x < 0 || y >= data->h_map || x >= data->w_map)
|
||||
mlx_put_image_to_window(data->mlx, data->mlx_win, data->imgs.bg, (data->w_screen / 2) + ((x - data->x_player) * data->size), (data->h_screen / 2) + ((y - data->y_player) * data->size));
|
||||
else
|
||||
mlx_put_image_to_window(data->mlx, data->mlx_win, assets(data, x, y), (data->w_screen / 2) + ((x - data->x_player) * data->size), (data->h_screen / 2) + ((y - data->y_player) * data->size));
|
||||
y++;
|
||||
}
|
||||
x++;
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
|
@ -16,7 +16,8 @@ ft_strlcat.c ft_toupper.c ft_tolower.c ft_strchr.c ft_strrchr.c ft_strncmp.c \
|
|||
ft_memchr.c ft_memcmp.c ft_strnstr.c ft_atoi.c ft_calloc.c ft_strdup.c \
|
||||
ft_substr.c ft_strjoin.c ft_strtrim.c ft_split.c ft_itoa.c ft_strmapi.c \
|
||||
ft_striteri.c ft_putchar_fd.c ft_putstr_fd.c ft_putendl_fd.c ft_putnbr_fd.c \
|
||||
ft_get_size.c ft_power.c ft_atoi_check.c ft_strlen_double.c ft_strjoin_free.c
|
||||
ft_get_size.c ft_power.c ft_atoi_check.c ft_strlen_double.c ft_strjoin_free.c \
|
||||
ft_strdup_free.c ft_strdups.c
|
||||
OBJS = ${SRCS:.c=.o}
|
||||
BONUS_SRCS = ft_lstnew.c ft_lstadd_front.c ft_lstsize.c ft_lstlast.c \
|
||||
ft_lstadd_back.c ft_lstdelone.c ft_lstclear.c ft_lstiter.c ft_lstmap.c
|
||||
|
|
BIN
libft/ft_atoi.o
BIN
libft/ft_atoi.o
Binary file not shown.
Binary file not shown.
BIN
libft/ft_bzero.o
BIN
libft/ft_bzero.o
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
libft/ft_itoa.o
BIN
libft/ft_itoa.o
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
libft/ft_power.o
BIN
libft/ft_power.o
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
libft/ft_split.o
BIN
libft/ft_split.o
Binary file not shown.
Binary file not shown.
Binary file not shown.
32
libft/ft_strdup_free.c
Normal file
32
libft/ft_strdup_free.c
Normal file
|
@ -0,0 +1,32 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strdup_free.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/07/26 14:25:30 by erey-bet #+# #+# */
|
||||
/* Updated: 2022/09/28 16:32:55 by erey-bet ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
char *ft_strdup_free(char *src)
|
||||
{
|
||||
char *src_copy;
|
||||
int i;
|
||||
|
||||
src_copy = (char *)malloc(sizeof(char) * ft_strlen(src) + 1);
|
||||
if (src_copy == NULL)
|
||||
return (NULL);
|
||||
i = 0;
|
||||
while (src[i])
|
||||
{
|
||||
src_copy[i] = src[i];
|
||||
i++;
|
||||
}
|
||||
src_copy[i] = '\0';
|
||||
free(src);
|
||||
return (src_copy);
|
||||
}
|
45
libft/ft_strdups.c
Normal file
45
libft/ft_strdups.c
Normal file
|
@ -0,0 +1,45 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strdups.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/07/26 14:25:30 by erey-bet #+# #+# */
|
||||
/* Updated: 2022/09/28 16:32:55 by erey-bet ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
static int ft_strslen(char **src)
|
||||
{
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
while (src[i])
|
||||
i++;
|
||||
return (i);
|
||||
}
|
||||
|
||||
char **ft_strdups(char **src)
|
||||
{
|
||||
char **src_copy;
|
||||
int x;
|
||||
int y;
|
||||
|
||||
src_copy = ft_calloc(ft_strslen(src) + 1, (sizeof(char *)));
|
||||
if (src_copy == NULL)
|
||||
return (NULL);
|
||||
x = -1;
|
||||
while (src[++x])
|
||||
{
|
||||
src_copy[x] = ft_calloc(ft_strlen(src[x]) + 1, 1);
|
||||
y = -1;
|
||||
while (src[x][++y])
|
||||
src_copy[x][y] = src[x][y];
|
||||
src_copy[x][y] = '\0';
|
||||
}
|
||||
src_copy[x] = NULL;
|
||||
return (src_copy);
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
libft/libft.a
BIN
libft/libft.a
Binary file not shown.
|
@ -42,6 +42,8 @@ char *ft_strrchr(const char *str, int search);
|
|||
int ft_strncmp(const char *s1, const char *s2, size_t n);
|
||||
size_t ft_strlcat(char *dest, const char *src, size_t size);
|
||||
char *ft_strdup(const char *src);
|
||||
char *ft_strdup_free(char *src);
|
||||
char **ft_strdups(char **src);
|
||||
int ft_atoi(const char *nptr);
|
||||
char **ft_split(char const *s, char c);
|
||||
void *ft_calloc(size_t nitems, size_t size);
|
||||
|
|
49
map/map_big.ber
Normal file
49
map/map_big.ber
Normal file
|
@ -0,0 +1,49 @@
|
|||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1P0C000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1C00000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
100000000000000000000000000000000E000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1000000000000000000000000000000000000000000001
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
||||
1111111111111111111111111111111111111111111111
|
|
@ -1,5 +1,5 @@
|
|||
1111111111111
|
||||
10010000000C1
|
||||
1000011111001
|
||||
1P0011E000001
|
||||
1P0011E0000C1
|
||||
1111111111111
|
6
map/map_test3.txt
Normal file
6
map/map_test3.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
111111111111111111111111111111111
|
||||
1E0000000000000000000000000000001
|
||||
101001010010000010100100000001011
|
||||
101001001010101000100100000001011
|
||||
1P00000000000000000000000000000C1
|
||||
111111111111111111111111111111111
|
3
map/not_minimun.txt
Normal file
3
map/not_minimun.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
11111
|
||||
10CE1
|
||||
11111
|
5
map/not_possible.txt
Normal file
5
map/not_possible.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
1111111111111
|
||||
1P1C010110001
|
||||
1011100010101
|
||||
10000010001E1
|
||||
1111111111111
|
4
map/not_rectangular.txt
Normal file
4
map/not_rectangular.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
11111
|
||||
1P01
|
||||
10CE1
|
||||
11111
|
4
map/not_surrounded.txt
Normal file
4
map/not_surrounded.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
11111
|
||||
1PCE1
|
||||
10001
|
||||
1111E
|
224
so_long.c
224
so_long.c
|
@ -12,227 +12,3 @@
|
|||
|
||||
#include "so_long.h"
|
||||
#include <stdio.h>
|
||||
|
||||
void all_free(t_data *data)
|
||||
{
|
||||
(void)data;
|
||||
}
|
||||
|
||||
int quit(t_data *data)
|
||||
{
|
||||
int i;
|
||||
|
||||
mlx_destroy_image(data->mlx, data->imgs.ply);
|
||||
mlx_destroy_image(data->mlx, data->imgs.bg);
|
||||
mlx_destroy_image(data->mlx, data->imgs.wall);
|
||||
mlx_destroy_image(data->mlx, data->imgs.col);
|
||||
mlx_destroy_image(data->mlx, data->imgs.exit);
|
||||
mlx_destroy_image(data->mlx, data->imgs.ene);
|
||||
mlx_clear_window(data->mlx, data->mlx_win);
|
||||
mlx_destroy_window(data->mlx, data->mlx_win);
|
||||
mlx_destroy_display(data->mlx);
|
||||
mlx_loop_end(data->mlx);
|
||||
i = 0;
|
||||
while (data->map[i])
|
||||
free(data->map[i++]);
|
||||
free(data->map);
|
||||
free(data->mlx);
|
||||
exit(0);
|
||||
return (0);
|
||||
}
|
||||
|
||||
t_xy *get_position(t_data *data, char c)
|
||||
{
|
||||
int y;
|
||||
t_xy *xy;
|
||||
|
||||
y = 0;
|
||||
xy = NULL;
|
||||
while (data->map[y])
|
||||
{
|
||||
if (ft_strchr_gnl(data->map[y], c) != -1)
|
||||
{
|
||||
xy = ft_calloc(1, sizeof(t_xy));
|
||||
xy->x = ft_strchr_gnl(data->map[y], c);
|
||||
xy->y = y;
|
||||
break;
|
||||
}
|
||||
y++;
|
||||
}
|
||||
return (xy);
|
||||
}
|
||||
|
||||
char get_element(t_data *data, t_xy xy)
|
||||
{
|
||||
return (data->map[xy.y][xy.x]);
|
||||
}
|
||||
|
||||
int get_new_element(t_data *data, int x, int y)
|
||||
{
|
||||
return(data->map[data->y_player + y][data->x_player + x]);
|
||||
}
|
||||
|
||||
void set_new_element(t_data *data, int x, int y)
|
||||
{
|
||||
data->map[data->y_player + y][data->x_player + x] = '0';
|
||||
}
|
||||
|
||||
int end(t_data *data)
|
||||
{
|
||||
if (get_position(data, 'C') == NULL)
|
||||
quit(data);
|
||||
return (1);
|
||||
}
|
||||
|
||||
void set_position_player(t_data *data, t_xy *xy)
|
||||
{
|
||||
data->x_player = xy->x;
|
||||
|
||||
data->y_player = xy->y;
|
||||
free(xy);
|
||||
}
|
||||
|
||||
void move(t_data *data, int x, int y)
|
||||
{
|
||||
if (get_new_element(data, x, y) == '1')
|
||||
return ;
|
||||
if (get_new_element(data, x, y) == 'C')
|
||||
set_new_element(data, x, y);
|
||||
if (get_new_element(data, x, y) == 'E')
|
||||
if (end(data))
|
||||
return ;
|
||||
data->x_player += x;
|
||||
data->y_player += y;
|
||||
}
|
||||
|
||||
int key_hook(int key, t_data *data)
|
||||
{
|
||||
if (key == K_ESC)
|
||||
quit(data);
|
||||
else if (key == K_LEFT)
|
||||
move(data, -1, 0);
|
||||
else if (key == K_RIGHT)
|
||||
move(data, 1, 0);
|
||||
else if (key == K_UP)
|
||||
move(data, 0, -1);
|
||||
else if (key == K_DOWN)
|
||||
move(data, 0, 1);
|
||||
data->update = 1;
|
||||
return (0);
|
||||
}
|
||||
|
||||
void *assets(t_data *data, char c)
|
||||
{
|
||||
if (c == '0' || c == 'P')
|
||||
return (data->imgs.bg);
|
||||
else if (c == '1')
|
||||
return (data->imgs.wall);
|
||||
else if (c == 'C')
|
||||
return (data->imgs.col);
|
||||
else if (c == 'E')
|
||||
return (data->imgs.exit);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
void draw(t_data *data)
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
int range;
|
||||
|
||||
range = 3;
|
||||
x = data->x_player - range;
|
||||
while (x < data->x_player + range)
|
||||
{
|
||||
while (x < -1)
|
||||
x++;
|
||||
y = data->y_player - range;
|
||||
while (y < data->y_player + range)
|
||||
{
|
||||
while (y < -1)
|
||||
y++;
|
||||
if (x == data->x_player && y == data->y_player)
|
||||
mlx_put_image_to_window(data->mlx, data->mlx_win, data->imgs.ply, data->w_screen / 2, data->h_screen / 2);
|
||||
else if (y < 0 || x < 0 || y >= data->h_map || data->map[y][x] == '\n' || data->map[y][x] == '\0')
|
||||
mlx_put_image_to_window(data->mlx, data->mlx_win, data->imgs.bg, (data->w_screen / 2) + ((x - data->x_player) * data->size), (data->h_screen / 2) + ((y - data->y_player) * data->size));
|
||||
else
|
||||
mlx_put_image_to_window(data->mlx, data->mlx_win, assets(data, data->map[y][x]), (data->w_screen / 2) + ((x - data->x_player) * data->size), (data->h_screen / 2) + ((y - data->y_player) * data->size));
|
||||
y++;
|
||||
}
|
||||
x++;
|
||||
}
|
||||
}
|
||||
|
||||
int render(t_data *data)
|
||||
{
|
||||
if (data->update == 1)
|
||||
{
|
||||
//mlx_clear_window(data->mlx, data->mlx_win);
|
||||
draw(data);
|
||||
data->update = 0;
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
void init_data(t_data *data)
|
||||
{
|
||||
data->update = 1;
|
||||
data->size = 128;
|
||||
data->x_player = 0;
|
||||
data->y_player = 0;
|
||||
data->mlx = mlx_init();
|
||||
mlx_get_screen_size(data->mlx, &data->w_screen, &data->h_screen);
|
||||
data->imgs.ply = mlx_xpm_file_to_image(data->mlx, "assets/player.xpm", &data->size, &data->size);
|
||||
data->imgs.bg = mlx_xpm_file_to_image(data->mlx, "assets/background.xpm", &data->size, &data->size);
|
||||
data->imgs.wall = mlx_xpm_file_to_image(data->mlx, "assets/wall.xpm", &data->size, &data->size);
|
||||
data->imgs.col = mlx_xpm_file_to_image(data->mlx, "assets/collectible.xpm", &data->size, &data->size);
|
||||
data->imgs.exit = mlx_xpm_file_to_image(data->mlx, "assets/exit.xpm", &data->size, &data->size);
|
||||
data->imgs.ene = mlx_xpm_file_to_image(data->mlx, "assets/enemy.xpm", &data->size, &data->size);
|
||||
}
|
||||
|
||||
void get_map(char *argv[], t_data *data)
|
||||
{
|
||||
char *tmp_map;
|
||||
char *map;
|
||||
int i;
|
||||
int fd;
|
||||
|
||||
fd = open(argv[1], O_RDONLY);
|
||||
if (fd == -1)
|
||||
return ;
|
||||
i = 0;
|
||||
map = NULL;
|
||||
tmp_map = NULL;
|
||||
while (i == 0 || tmp_map != NULL)
|
||||
{
|
||||
tmp_map = get_next_line(fd);
|
||||
if (tmp_map && map)
|
||||
map = ft_strjoin_free(map, tmp_map, 1);
|
||||
else if (tmp_map)
|
||||
map = ft_strdup(tmp_map);
|
||||
free(tmp_map);
|
||||
i++;
|
||||
}
|
||||
data->map = ft_split(map, '\n');
|
||||
data->h_map = i - 1;
|
||||
free(map);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
t_data data;
|
||||
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
init_data(&data);
|
||||
get_map(argv, &data);
|
||||
if (data.map == NULL)
|
||||
return (1);
|
||||
set_position_player(&data, get_position(&data, 'P'));
|
||||
data.mlx_win = mlx_new_window(data.mlx, data.w_screen, data.h_screen, "lili meli");
|
||||
mlx_hook(data.mlx_win, 17, 0, quit, &data);
|
||||
mlx_key_hook(data.mlx_win, key_hook, &data);
|
||||
mlx_loop_hook(data.mlx, render, &data);
|
||||
mlx_loop(data.mlx);
|
||||
return (0);
|
||||
}
|
||||
|
|
40
so_long.h
40
so_long.h
|
@ -20,22 +20,40 @@
|
|||
# include "libft/libft.h"
|
||||
# include "get_next_line/get_next_line.h"
|
||||
# include <fcntl.h>
|
||||
# include <math.h>
|
||||
|
||||
|
||||
# include <stdio.h>
|
||||
|
||||
|
||||
typedef struct s_img
|
||||
{
|
||||
void **ply;
|
||||
void *bg;
|
||||
void **wall;
|
||||
void **col;
|
||||
void **exit;
|
||||
void *ene;
|
||||
} t_img;
|
||||
|
||||
typedef struct s_data
|
||||
{
|
||||
void *mlx;
|
||||
void *mlx_win;
|
||||
void *mlx_img;
|
||||
char **map;
|
||||
t_img imgs;
|
||||
int tick;
|
||||
int h_map;
|
||||
int w_map;
|
||||
int update;
|
||||
int size;
|
||||
int x_player;
|
||||
int y_player;
|
||||
int x_ene;
|
||||
int y_ene;
|
||||
int h_screen;
|
||||
int w_screen;
|
||||
int move;
|
||||
} t_data;
|
||||
|
||||
typedef struct s_xy
|
||||
|
@ -44,4 +62,24 @@ typedef struct s_xy
|
|||
int y;
|
||||
} t_xy;
|
||||
|
||||
// Map
|
||||
void *get_map(char *argv[], t_data *data);
|
||||
|
||||
// Render
|
||||
int render(t_data *data);
|
||||
void draw(t_data *data);
|
||||
|
||||
// Player
|
||||
void move(t_data *data, int x, int y);
|
||||
void *set_position_player(t_data *data, t_xy *xy);
|
||||
|
||||
// Position
|
||||
t_xy *get_position(char **map, char c);
|
||||
int has_element(char **map, char c);
|
||||
char get_element(t_data *data, t_xy xy);
|
||||
|
||||
// Quit
|
||||
int quit(t_data *data);
|
||||
int end(t_data *data);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue