diff --git a/Tiled/Asci_tileset.tsx b/Tiled/Asci_tileset.tsx new file mode 100644 index 0000000..be0853c --- /dev/null +++ b/Tiled/Asci_tileset.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/Tiled/converter b/Tiled/converter new file mode 100755 index 0000000..ba8f9cf --- /dev/null +++ b/Tiled/converter @@ -0,0 +1,21 @@ +#! /usr/bin/env python3 +from sys import argv + + +def convert_to_string(csv_filename): + output_filename = csv_filename.split('.')[0] + char_list = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ " + + with open(csv_filename, "r") as file: + data = [[int(char_id) for char_id in line.split(",")] for line in file.read().splitlines()] + + output = r"" + for line in data: + for char_id in line: + output += char_list[char_id] + output += "\n" + + with open(f"{output_filename}.py", "w") as file: + file.write(f"{output_filename} = r\"\"\"\n{output}\n\"\"\"") + +convert_to_string(*argv[1:]) \ No newline at end of file diff --git a/Tiled/monastery.csv b/Tiled/monastery.csv new file mode 100644 index 0000000..908dc91 --- /dev/null +++ b/Tiled/monastery.csv @@ -0,0 +1,25 @@ +-1,-1,-1,-1,-1,-1,11,13,13,13,13,13,11,13,13,13,13,13,11,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,-1,-1,10,-1,-1,92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,10,92,-1,-1,-1,-1,-1,-1 +11,13,13,13,13,13,11,13,13,-1,13,13,11,13,13,-1,13,13,11,13,13,13,13,13,11 +92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92 +92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92 +92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92 +92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,10,-1,-1,-1,92 +92,-1,-1,-1,-1,10,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92 +11,13,13,13,13,13,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,13,13,13,13,13,11 +92,10,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92 +92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92 +92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,92 +92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92 +92,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,92 +11,13,13,13,13,13,11,13,13,13,92,59,-1,61,92,13,13,13,11,13,13,13,13,13,11 +-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,10,-1,-1,-1,92,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,11,13,13,13,13,92,62,92,13,13,13,13,11,-1,-1,-1,-1,-1,-1 diff --git a/Tiled/monastery.py b/Tiled/monastery.py new file mode 100644 index 0000000..e69de29 diff --git a/Tiled/monastery.tmx b/Tiled/monastery.tmx new file mode 100644 index 0000000..3e67870 --- /dev/null +++ b/Tiled/monastery.tmx @@ -0,0 +1,33 @@ + + + + + +0,0,0,0,0,0,12,14,14,14,14,14,12,14,14,14,14,14,12,0,0,0,0,0,0, +0,0,0,0,0,0,93,0,0,0,0,0,93,0,0,0,0,0,93,0,0,0,0,0,0, +0,0,0,0,0,0,93,0,0,0,0,0,93,0,0,0,0,0,93,0,0,0,0,0,0, +0,0,0,0,0,0,93,0,0,11,0,0,93,0,0,0,0,0,93,0,0,0,0,0,0, +0,0,0,0,0,0,93,0,0,0,0,0,93,0,0,0,0,0,93,0,0,0,0,0,0, +0,0,0,0,0,0,93,0,0,0,0,0,93,0,0,0,0,11,93,0,0,0,0,0,0, +12,14,14,14,14,14,12,14,14,0,14,14,12,14,14,0,14,14,12,14,14,14,14,14,12, +93,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93, +93,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93, +93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93, +93,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,11,0,0,0,93, +93,0,0,0,0,11,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93, +12,14,14,14,14,14,12,0,0,0,0,0,0,0,0,0,0,0,12,14,14,14,14,14,12, +93,11,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93, +93,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93, +93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,93, +93,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93, +93,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93, +12,14,14,14,14,14,12,14,14,14,93,60,0,62,93,14,14,14,12,14,14,14,14,14,12, +0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0, +0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0, +0,0,0,0,0,0,93,0,0,0,0,0,0,0,11,0,0,0,93,0,0,0,0,0,0, +0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0, +0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0, +0,0,0,0,0,0,12,14,14,14,14,93,63,93,14,14,14,14,12,0,0,0,0,0,0 + + + diff --git a/Tiled/tileset.png b/Tiled/tileset.png new file mode 100644 index 0000000..567af77 Binary files /dev/null and b/Tiled/tileset.png differ diff --git a/Tiled/world.csv b/Tiled/world.csv new file mode 100644 index 0000000..90c8853 --- /dev/null +++ b/Tiled/world.csv @@ -0,0 +1,67 @@ +-1,-1,-1,-1,-1,-1,-1,-1,-1,15,60,-1,-1,-1,-1,15,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,3,3,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1 +15,60,-1,-1,-1,-1,-1,-1,15,-1,-1,60,-1,-1,15,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,3,3,3,3,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,3,3,-1,-1,3,3,-1,3,3,3,3,-1,3,3,-1 +-1,-1,60,-1,-1,-1,-1,15,-1,-1,-1,-1,60,15,-1,-1,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,3,3,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,3,3,3,3,3,3,3,3,3,3,3,3 +-1,-1,-1,60,-1,15,60,-1,-1,-1,15,60,-1,-1,-1,-1,15,60,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,-1,3,3,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,3,3,-1,3,3,3,3 +-1,-1,-1,-1,15,-1,-1,60,-1,15,-1,-1,60,-1,-1,15,-1,-1,60,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,-1,3,3,3,3,92,92,-1,3,3,-1,92,92,-1,-1,3,3,3,3,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,92,92,-1,-1,3,3,-1 +-1,-1,-1,15,-1,-1,-1,-1,60,-1,-1,-1,-1,60,15,-1,-1,-1,-1,60,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,3,3,3,3,3,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,3,3,-1,-1,-1,3,3,3,3,-1,-1,92,92,-1,-1,-1,-1,-1,-1,92,92,-1 +-1,-1,-1,-1,-1,-1,15,60,-1,-1,-1,-1,10,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,3,3,3,3,-1,3,3,-1,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,3,3,-1,3,3,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1 +-1,-1,-1,-1,-1,15,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,3,3,-1,-1,92,92,-1,-1,-1,-1,3,3,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,-1,92,92,3,3,3,3,-1,-1,-1,3,3,3,3,-1,-1,-1 +-1,-1,15,60,15,-1,-1,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,92,92,3,3,3,3,-1,3,3,-1,3,3,3,3,-1,-1,3,3,3,3,-1,-1,-1,3,3,3,3,-1,-1,-1 +-1,15,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,3,3,3,3,3,3,3,-1,-1,-1,3,3,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1 +15,-1,-1,-1,-1,60,15,60,-1,-1,-1,-1,-1,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,94,94,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,3,3,3,3,-1,3,3,-1,-1,-1,-1,92,92,-1,-1,3,3,-1,92,92,-1,-1,-1,-1 +-1,-1,15,60,-1,15,-1,-1,60,-1,-1,-1,15,-1,48,65,76,65,73,83,-1,46,65,82,70,69,67,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,3,3,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1 +-1,15,-1,-1,60,-1,-1,-1,-1,60,-1,15,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,15,92,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1 +15,-1,-1,-1,15,60,-1,-1,-1,-1,-1,92,-1,-1,63,63,-1,-1,-1,63,63,63,-1,-1,-1,63,63,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,-1,-1,3,3,-1,-1,-1,3,3,-1,-1 +-1,-1,-1,15,-1,-1,60,-1,-1,-1,-1,92,-1,15,-1,-1,60,-1,15,-1,63,-1,60,-1,15,-1,-1,60,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,63,63,63,63,63,63,63,63,-1,-1,-1,-1,3,3,3,3,3,3,3,3,-1,92,92,-1,-1,3,3,3,3,-1 +15,60,15,-1,-1,-1,-1,60,-1,-1,-1,92,63,92,-1,-1,92,63,92,15,62,60,92,63,92,-1,-1,92,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,-1,-1,15,-1,52,65,76,7,90,65,-1,60,-1,-1,-1,-1,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,3,3,3,3,-1 +-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,3,3,3,3,-1,3,3,-1,3,3,3,3,-1,92,28,30,-1,28,30,-1,28,30,92,-1,-1,-1,-1,92,92,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1 +-1,-1,-1,60,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,3,3,3,3,3,3,3,3,3,3,3,3,-1,92,-1,-1,-1,-1,63,-1,-1,-1,92,-1,-1,3,3,-1,-1,-1,-1,92,92,-1,-1,-1,-1,3,3,-1,92,92,-1,-1 +-1,-1,-1,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,3,3,-1,3,3,3,3,-1,3,3,-1,-1,92,63,63,63,92,62,92,63,63,92,-1,3,3,3,3,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,92,63,92,-1,-1,-1,-1,-1,92,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,3,3,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,-1,-1,3,3,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,3,3,-1,-1,-1,92,92,-1,3,3,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,3,3,3,3,-1,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,92,92,-1,3,3,-1,-1,3,3,3,3,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,63,92,-1,-1,-1,-1,-1,92,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,-1,3,3,3,3,3,3,3,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,63,-1,-1,-1,-1,-1,94,94,94,94,94,94,-1,3,3,-1,3,3,3,3,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,15,11,60,63,63,-1,-1,-1,-1,-1,94,94,94,-1,92,92,-1,-1,3,3,-1,-1,92,92,-1,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,-1,3,3,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,92,92,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,-1,-1,-1,92,63,-1,59,61,60,-1,-1,-1,-1,-1,94,94,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,-1,3,3,3,3,92,92,-1,3,3,3,3,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,62,63,63,63,92,-1,-1,-1,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,3,3,3,3,3,3,3,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,15,79,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,3,3,3,3,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,3,3,3,3,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,92,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,15,79,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,3,3,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,63,63,63,-1,-1,-1,-1,-1,-1,-1,92,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,63,-1,92,92,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,3,3,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,15,63,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,10,-1,15,79,60,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,92,92,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,92,62,92,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,92,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,63,63,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,3,3,-1,-1,-1,-1,-1 +-1,-1,15,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,94,94,92,-1,-1,-1,92,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,15,28,79,30,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,92,92,-1,3,3,3,3,-1,-1,-1,-1 +-1,-1,92,63,92,-1,-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,92,-1,-1,-1,92,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,63,62,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,-1,3,3,3,3,-1,3,3,-1 +-1,-1,-1,-1,-1,-1,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,92,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,-1,-1,3,3,-1,3,3,3,3 +94,94,94,94,94,94,94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,3,3,3,3,3,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,3,3,3,3 +94,94,94,94,94,94,94,94,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,92,-1,92,-1,-1,3,3,3,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,63,63,63,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,15,59,61,-1,-1,60,63,63,63,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,92,92,-1 +-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,3,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,92,-1,92,-1,-1,-1,3,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,92,-1,-1,-1,63,-1,-1,59,61,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1 +3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,3,3,3,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,92,63,63,92,62,92,63,63,63,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1 +3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1 +-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,92,92,-1,-1,-1,-1 +-1,92,92,-1,10,-1,3,3,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1 +-1,-1,3,3,-1,-1,92,92,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,-1,15,79,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1 +-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,-1,63,-1,-1,-1,-1,-1,-1,63,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,62,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1 +-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,15,-1,60,-1,-1,-1,-1,15,79,60,-1,10,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,63,63,63,-1,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,92,92,-1,-1,-1,3,3,-1,-1,-1 +-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,63,-1,-1,-1,92,62,92,-1,-1,-1,-1,92,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,15,28,79,30,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,92,92,-1,-1,-1 +-1,-1,92,92,3,3,-1,-1,63,63,63,-1,-1,-1,15,79,60,63,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,-1,-1,-1,-1,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,62,63,63,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1 +-1,-1,-1,3,3,3,3,15,28,79,30,60,-1,-1,92,-1,-1,-1,60,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,3,-1,-1,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1 +-1,-1,-1,3,3,3,3,92,63,63,62,92,-1,-1,92,63,63,62,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,3,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1 +-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,-1,92,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1 +-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,3,3,3,3,-1,-1,3,3,-1,92,92,-1,-1,-1,3,3,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,92,92,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,3,3,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,-1,3,3,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,3,3,3,3,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,3,3,-1,-1,3,3,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,3,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92,92,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 diff --git a/Tiled/world.tmx b/Tiled/world.tmx new file mode 100644 index 0000000..ab50980 --- /dev/null +++ b/Tiled/world.tmx @@ -0,0 +1,75 @@ + + + + + +0,0,0,0,0,0,0,0,0,16,61,0,0,0,0,16,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,0,0,0,0,4,4,0,0,0,0,0,0,4,4,0,4,4,4,4,0,0,0,0,0,4,4,0,0,0,0,0, +16,61,0,0,0,0,0,0,16,0,0,61,0,0,16,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,4,4,4,4,0,4,4,0,0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,93,93,0,0,4,4,0,0,4,4,0,4,4,4,4,0,4,4,0, +0,0,61,0,0,0,0,16,0,0,0,0,61,16,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,4,4,0,0,93,93,0,0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,4,4,0,0,0,0,0,93,93,0,4,4,4,4,4,4,4,4,4,4,4,4, +0,0,0,61,0,16,61,0,0,0,16,61,0,0,0,0,16,61,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,4,4,0,0,0,0,0,0,4,4,0,4,4,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,4,4,0,0,4,4,4,4,0,4,4,0,4,4,4,4, +0,0,0,0,16,0,0,61,0,16,0,0,61,0,0,16,0,0,61,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,4,4,0,4,4,4,4,93,93,0,4,4,0,93,93,0,0,4,4,4,4,0,0,4,4,4,4,0,0,4,4,0,0,93,93,0,0,4,4,0, +0,0,0,16,0,0,0,0,61,0,0,0,0,61,16,0,0,0,0,61,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,4,4,0,0,0,4,4,4,4,0,0,93,93,0,0,0,0,0,0,93,93,0, +0,0,0,0,0,0,16,61,0,0,0,0,11,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,4,4,4,4,0,4,4,0,0,0,4,4,4,4,0,0,0,0,0,93,93,0,0,0,0,4,4,0,4,4,0,0,0,0,0,4,4,0,0,0,0, +0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,4,4,0,0,93,93,0,0,0,0,4,4,0,4,4,0,0,0,0,0,0,4,4,0,93,93,4,4,4,4,0,0,0,4,4,4,4,0,0,0, +0,0,16,61,16,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,93,93,4,4,4,4,0,4,4,0,4,4,4,4,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0, +0,16,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,4,4,0,0,0,0,0,4,4,0,0,0,0, +16,0,0,0,0,61,16,61,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,4,4,4,4,0,4,4,0,0,0,0,93,93,0,0,4,4,0,93,93,0,0,0,0, +0,0,16,61,0,16,0,0,61,0,0,0,16,0,49,66,77,66,74,84,0,47,66,83,71,70,68,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,4,4,0,0,93,93,0,0,0,0,0,0,0,4,4,4,4,0,0,0,0,0,0, +0,16,0,0,61,0,0,0,0,61,0,16,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,16,93,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,4,4,0,0,0,0,0,4,4,4,4,0,0,0,0,0,0, +16,0,0,0,16,61,0,0,0,0,0,93,0,0,64,64,0,0,0,64,64,64,0,0,0,64,64,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,4,4,0,0,4,4,0,0,0,4,4,0,0, +0,0,0,16,0,0,61,0,0,0,0,93,0,16,0,0,61,0,16,0,64,0,61,0,16,0,0,61,0,93,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,64,64,64,64,64,0,0,0,0,4,4,4,4,4,4,4,4,0,93,93,0,0,4,4,4,4,0, +16,61,16,0,0,0,0,61,0,0,0,93,64,93,0,0,93,64,93,16,63,61,93,64,93,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,0,4,4,0,0,0,0,0,0,4,4,0,0,16,0,53,66,77,8,91,66,0,61,0,0,0,0,4,4,0,4,4,4,4,0,0,0,0,0,4,4,4,4,0, +0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,4,4,4,4,0,4,4,0,4,4,4,4,0,93,29,31,0,29,31,0,29,31,93,0,0,0,0,93,93,0,0,4,4,0,0,0,0,0,0,0,4,4,0,0, +0,0,0,61,64,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,0,93,0,0,0,0,64,0,0,0,93,0,0,4,4,0,0,0,0,93,93,0,0,0,0,4,4,0,93,93,0,0, +0,0,0,0,0,61,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,4,4,0,4,4,4,4,0,4,4,0,0,93,64,64,64,93,63,93,64,64,93,0,4,4,4,4,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0, +0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,4,4,0,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0, +0,0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,4,4,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,0,4,4,0,0,0,93,93,0,4,4,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,4,4,4,4,0,4,4,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,93,93,0,4,4,0,0,4,4,4,4,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,64,0,0,0,0,0,95,95,95,95,95,95,0,4,4,0,4,4,4,4,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,4,4,0,0,4,4,4,4,0,0,4,4,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,16,12,61,64,64,0,0,0,0,0,95,95,95,0,93,93,0,0,4,4,0,0,93,93,0,0,4,4,0,0,0,0,0,0,4,4,0,4,4,0,4,4,4,4,0,0,4,4,0,0,0,93,93,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,93,0,0,0,0,0,0,0,93,64,0,60,62,61,0,0,0,0,0,95,95,0,0,0,0,0,93,93,0,0,0,0,0,4,4,4,4,0,4,4,0,4,4,4,4,93,93,0,4,4,4,4,0,0,93,93,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,64,64,64,93,0,0,0,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,4,4,0,0,0,0,0,4,4,0,0,0,0,0, +0,0,0,0,0,0,16,80,61,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,0,0,4,0,0,0,0,0,0,0,0,0,0,4,4,0,4,4,4,4,0,4,4,0,0,0,0,0,93,93,0,0,0,0,4,4,4,4,0,0,0,0, +0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,16,80,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,93,93,0,0,4,4,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,4,4,4,4,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,64,0,93,93,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,4,4,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,16,64,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,93,0,93,0,0,0,0,0,0,0,0,11,0,16,80,61,0,0,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,93,93,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,93,63,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,0, +0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,93,0,0,0,93,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,4,4,0,0,4,4,0,0,0,0,0, +0,0,16,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,93,0,0,0,93,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,29,80,31,61,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,4,4,0,93,93,0,4,4,4,4,0,0,0,0, +0,0,93,64,93,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,93,0,0,0,93,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,63,64,93,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,4,4,0,4,4,0, +0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,93,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,4,4,4,4,0,0,0,0,4,4,0,4,4,4,4, +95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,4,4,4,4,4,0,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,93,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,93,93,0,4,4,4,4, +95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,4,4,4,0,0,0,0,93,0,93,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,64,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,4,4,0,0,0,0,0,0,4,4,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,16,60,62,0,0,61,64,64,64,64,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,93,93,0, +0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,0,0,0,0,0,4,4,4,4,4,0,0,0,93,0,93,0,0,0,4,0,0,0,0,0,93,0,93,0,0,0,0,0,93,0,93,0,0,0,4,0,0,0,0,0,0,93,0,0,0,64,0,0,60,62,0,61,0,0,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0, +4,4,4,4,0,0,4,4,0,0,0,0,0,0,0,4,4,4,4,4,0,4,4,4,0,0,0,0,0,93,0,93,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,93,64,64,93,63,93,64,64,64,64,93,0,0,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0, +4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,0,93,0,93,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,0, +0,4,4,0,0,4,4,4,4,0,0,0,0,4,0,0,0,0,0,0,0,93,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,93,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,93,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,93,93,0,0,0,0, +0,93,93,0,11,0,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0, +0,0,4,4,0,0,93,93,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,16,80,61,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0, +0,4,4,4,4,0,0,0,0,0,0,0,93,0,93,0,0,0,0,0,64,0,0,0,0,0,0,64,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,93,0,93,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0, +0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,61,0,0,0,0,16,80,61,0,11,0,0,0,0,0,93,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,93,0,0,0,0,64,64,64,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,93,93,0,0,0,4,4,0,0,0, +0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,93,63,93,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,29,80,31,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,93,93,0,0,0, +0,0,93,93,4,4,0,0,64,64,64,0,0,0,16,80,61,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,93,63,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0, +0,0,0,4,4,4,4,16,29,80,31,61,0,0,93,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0, +0,0,0,4,4,4,4,93,64,64,63,93,0,0,93,64,64,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,93,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,0,0, +0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,93,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,0,0,93,93,0,0,0,0,0, +0,0,0,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0, +0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0, +0,4,4,4,4,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,4,4,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0, +0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,4,4,4,4,0,0,4,4,0,93,93,0,0,0,4,4,0,4,4,0,0,0,0,0,93,93,0,0,0,4,4,0,4,4,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,4,4,0,0,4,4,4,4,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,93,93,4,4,4,4,0,0,4,4,0,0,0,0,0,93,93,4,4,4,4,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,93,93,0,0,0,4,4,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,0,0,93,93,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,93,93,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,4,4,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,93,93,0,0,0,0,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,0,0,93,93,0,4,4,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,0,0,93,93,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,4,4,4,4,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,0,0,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,93,93,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + diff --git a/sources/asci_lib.py b/sources/asci_lib.py new file mode 100644 index 0000000..1b5ff3b --- /dev/null +++ b/sources/asci_lib.py @@ -0,0 +1,266 @@ +class Screen: + def __init__(self, screen_width=21, screen_height=6): + # Screen configuration + self.screen_width = screen_width + self.screen_height = screen_height + self._data = [[" " for _ in range(screen_width)] for _ in range(screen_height)] + + def clear(self): + print("\n" * self.screen_height) + + def set_world(self, world): + self._world = [[char for char in line] for line in world.split("\n")[1:]] + self.map_width = max([len(line) for line in self._world]) + self.map_height = len(self._world) + + def set_data(self, coords): + x, y = coords + for x_map in range(x, x + self.screen_width): + for y_map in range(y, y + self.screen_height): + self._data[y_map - y][x_map - x] = " " + if 0 <= x_map < self.map_width and 0 <= y_map < self.map_height: + try: self._data[y_map - y][x_map - x] = self._world[y_map][x_map] + except: pass + + def set_cell(self, x, y, value): + self._data[y][x] = value + + def display(self, return_input=True): + for line in self._data: + print("".join(line)) + + if return_input: return input(">") + + def display_text(self, string): + for paragraph in text_formater(string): + if paragraph: + self.clear() + print(paragraph) + last_input = input(">") + return last_input + + def get_cell(self, x, y): + return self._data[y][x] + + def get_map_size(self): + return self.map_width, self.map_height + + +class Asci: + def __init__(self, maps, fn_events, fn_fight, fn_stat, fn_custom, screen_width=21, screen_height=6): + # Load maps + self.maps = maps + + # Custom functions + self._game_event = fn_events + self._game_fight = fn_fight + self._game_stat = fn_stat + self._game_custom = fn_custom + + # Screen initialisation + self.screen = Screen(screen_width, screen_height) + + def _looked_case(self, direction): + # Left + if direction == 1: + return self.data[2] + 9, self.data[3] + 3 + + # Right + elif direction == 3: + return self.data[2] + 11, self.data[3] + 3 + + # Up + elif direction == 5: + return self.data[2] + 10, self.data[3] + 2 + + # Down + elif direction == 2: + return self.data[2] + 10, self.data[3] + 4 + + return self.data[2] + 10, self.data[3] + 3 + + def _cell_test(self, direction): + if direction == 1: + if self.data[-2] + 9 < 0: return -1 + else: cell = self.screen.get_cell(9, 3) + if direction == 3: + if self.data[-2] + 11 >= self.map_width: return -1 + else: cell = self.screen.get_cell(11, 3) + if direction == 5: + if self.data[-1] + 2 < 0: return -1 + else: cell = self.screen.get_cell(10, 2) + if direction == 2: + if self.data[-1] + 4 >= self.map_height: return -1 + else: cell = self.screen.get_cell(10, 4) + + cell_patterns = self.legend + for pattern_index in range(len(cell_patterns)): + if cell in cell_patterns[pattern_index]: return pattern_index + 1 + + return cell == " " + + def _keyboard(self, key): + # Interaction with map + if key in (1, 3, 5, 2): + cell_test = self._cell_test(key) + + # Enter house + if cell_test == 2 or (self.data[1] and cell_test < 0): + self.data[1], self.data[2], self.data[3] = self._get_map(key) + if self.data[1]: + self.screen.set_world(self.maps[self.data[1]][0]) + else: + self.screen.set_world(self.maps[0]) + self.map_width, self.map_height = self.screen.get_map_size() + + # Talk + elif cell_test == 3: + self._talk(key) + + # Fight + elif cell_test == 4: + self._fight(key) + + # Left + if key == 1 and cell_test == 1: self.data[2] -= 1 + # Right + if key == 3 and cell_test == 1: self.data[2] += 1 + # Up + if key == 5 and cell_test == 1: self.data[3] -= 1 + # Down + if key == 2 and cell_test == 1: self.data[3] += 1 + + # Stat + if key == 7: + self.screen.clear() + self._game_stat(self.stat) + input() + + # Custom display function + elif key == 8: + self.screen.clear() + self._game_custom(self.data[0], self.data[1], self.data[2], self.data[3], self.stat) + + # Quit + elif key == 9: + self.screen.clear() + + # /!\ TEST /!\ # + elif key == 4: + print(self.data) + input() + # /!\ TEST /!\ # + + def _talk(self, direction): + x, y = self._looked_case(direction) + + # Read the dialogue + event = read_event(self.data[0], self._game_event(self.data[0], self.data[1], x, y, self.stat)) + + # XP and stat modification + self.data[0] += event.xp_earned + for index in range(len(event.stat)): + self.stat[index] += event.stat[index] + + answer_selected = convert(self.screen.display_text(event.text)) + + if event.answer and (0 < answer_selected <= event.answer): self.data[0] += answer_selected + + def _fight(self, direction): + x, y = self._looked_case(direction) + + # Run the fight + if self._game_fight(self.data[0], self.data[1], x, y, self.stat): + self._talk(direction) + + + def _get_map(self, direction): + x, y = self._looked_case(direction) + current_map = self.data[1] + + if current_map: + if (x, y) == self.maps[current_map][2]: + return 0, self.maps[current_map][1][0] - 10, self.maps[current_map][1][1] - 3 + else: + for index in range(1, len(self.maps)): + if (x, y) == self.maps[index][1]: + return index, self.maps[index][2][0] - 10, self.maps[index][2][1] - 3 + + return current_map, self.data[2], self.data[3] + + def mainloop(self, end_game, stat=None, data=[0, 0, 0, 0], legend=("@", "^", "*", "$")): + # Load save ; data = [XP, map_id, x, y] + self.data = data[:] + if not stat or type(stat) != list: + self.stat = [100] + else: + self.stat = stat + + # Load legend + self.legend = legend[:] + + # Screen and map configuration + if data[1]: self.screen.set_world(self.maps[data[1]][0]) + else: self.screen.set_world(self.maps[0]) + + self.map_width, self.map_height = self.screen.get_map_size() + + key = key_buffer = 0 + + while key != 9 and self.stat[0] > 0 and self.data[0] < end_game: + self.screen.set_data(self.data[-2:]) + + self.screen.set_cell(10, 3, self.legend[0][0]) + key = convert(self.screen.display()) + + if not key: key = key_buffer + else: key_buffer = key + + self._keyboard(key) + + if self.stat[0] <= 0: self.stat[0] = 100 + return self.stat, self.data + + +class Event: + def __init__(self, xp_earned, text, answer=0, *stat): + self.xp_earned = xp_earned + self.text = text + self.answer = answer + self.stat = stat + + +def convert(string): + try: return int(string) + except: return 0 + + +def text_formater(string, screen_width=21, screen_height=6): + + def line_formater(string, screen_width): + if len(string) <= screen_width: return string + + stop_index = screen_width + while stop_index > 0 and not string[stop_index].isspace(): stop_index -= 1 + if not stop_index: stop_index = screen_width + + return string[:stop_index] + "\n" + line_formater(string[stop_index + 1:], screen_width) + + def paragraph_formater(lines, screen_height): + if len(lines) < screen_height: return "\n".join(lines) + + return "\n".join(lines[:screen_height]) + "\n\n" + paragraph_formater(lines[screen_height:], screen_height) + + lines = line_formater(string, screen_width).split("\n") + return paragraph_formater(lines, screen_height).split("\n\n") + + +def read_event(xp, event): + if type(event) == dict: + if xp in event: event = event[xp] + else: event = event["base"] + + if type(event) != list: + raise TypeError("event is of type {} instead of list".format(type(event))) + + return Event(*event) diff --git a/sources/maps.py b/sources/maps.py new file mode 100644 index 0000000..0ea2b0d --- /dev/null +++ b/sources/maps.py @@ -0,0 +1,143 @@ +world = r""" + /\ /\ ############ ## ## ## #### ## +/\ / \ / \ ## #### ## #### #### || ## ## #### ## + \ / \/ \ || ## || #### #### ## || ############ + \ /\ /\ /\~ || ## ## ## ## #### ## #### ## #### + / \ / \ / \~~ #### ## ####|| ## || #### #### ## || ## + / \ \/ \~~~~~~~ ############ #### ## #### || || + /\ ? ~~~~~~~~~~~~~ ## #### ## #### || ## ## ## + / \ ~~~~~~~~~~~~~ || ## || ## ## ## ||#### #### + /\/ \ ~~~~~~~~~~~ || ||#### ## #### #### #### + / \ ~~~~~~~~~~~~~~~~ ### ############ ## ## +/ \/\ _______________ ~~~~~~~~~~~~~~ ##### ## #### ## || ## || + /\ / \ / Palais Narfec \ ~~~~~~ ### || ## || #### + / \ \ /_________________\ ~~~~/|\ || ## #### +/ /\ | __ ___ __ | ~~~ #### ## ## ## + / \ | / \ / _ \ / \ | * ~~~ ________ ######## || #### +/\/ \ |_| |_|/^\|_| |_| ~~~~~ ## ## / Tal'za \ ## #### #### + \ ~~~~~~~#### ## #### |<> <> <>| || ## ## + \_ ##### ##### ~~~~~~~~~~~~~ ############ | _ | ## || ## || + \ ##### ##### ~~~~~~~~~~~~ ## #### ## |___|^|__| #### ## #### + \ |_| |_| ~~~~ || ## || #### #### #### + \ ~~~~~ || * ## #### ## + ##### ##### ~~~~~~~~~~ ## ## || ## || ## + ##### ##### ~~~~~~~~~~~~~ #### ## #### ## || ## #### + |_| |_| # ~~~~~~~~~ ############ #### #### #### + ### _ ~~~~~~ ## #### ## #### ## #### ## + ##### /+\__ ~~~ || ## || ## ## ## #### ## || + | | |_ []\ ~~ || #### ## ####|| #### || + _ |^___| ~~~~ ############ ## ## + /o\ _ ~~~~~~ # ## #### ## || #### + |_| /o\ ~~~~~~~~ ### || ## || ## #### + ___ |_| ~~~~~~~~~~~~~~~ ##### _ || #### ## ## + /_ \ ~~~~~~~~~~~~~~~ | | * /o\ #### #### || + |^|_| | ~~~~~~~ |_| ## #### + _ * | |~~~~~~~~~~ ___ || ## ## + / \ ~~| |~~~~~~~ /\ # ## || #### + |_| ~~~~~~~~~~| |~~ # |_^_| ### #### #### ## + ~~~~~~~~~~~~~~~~| | ### ##### #### ## #### +~~~~~~~~~~~~~~ | # ##### # # | | ## || #### +~~~~~~~~ # ### | | ### ### ____ || ## ## + # ### ##### ##### ##### /[] \____ #### ## || + ## ### # ##### | | # | | | | # | _ [] \ #### #### +#### ## ##### ### | | ### ### |__|^|____| ## #### +#### #### | | ##### ##### ##### || ## + ## #### # | | | | # | | ## || + || * ## ### # ### # _ #### ## + ## || ##### ### ##### ### * /o\ #### #### + #### | | _ _ ##### | | ##### |^| ## #### + #### / \ /o\ * | | | | ___ * ##|| ## + ## _ |^| |_| # /\ #### ##|| + ||## ___ /o\_ ### # |^__| #### #### + ####/\ | \ ##### ### ## #### + ####|__^| |__^| | | ##### ## || ## + ## | | ## ## #### ## || + || ## #### ## #### ## #### #### + ## #### ## #### #### #### #### ## #### + #### ## #### #### ## ## #### ## #### || ## + #### #### ## ## #### #### ## || ## ## || ## ## || + ## #### #### ## ## || ## #### #### ||#### ## ||#### ## + || ## #### #### #### ## || ## #### #### #### #### #### + || ## #### #### #### ## || ## ## #### ## #### + ## || ## ## #### #### ## || || ## || ## + #### ## || ## || ## #### #### || || + #### #### #### ## || ## #### + ## #### #### #### || ## + || ## ## #### || + || || ## + || +""" + + +smoastraund_house = (r""" ++----------+ +| |* == | +| |_| | +| +-----+ +| *| +| +-----+ +| | +| | ++-|^|------+ +""", +(73, 41), (3, 8)) + + +hospital = (r""" ++-----------------+ +| | | | | | +| |_| |_| |_| |_| | +| * | ++----|^|----------+ +""", +(46, 27), (6, 4)) + + +narfec_castle = (r""" ++---+ +-------------+ +----+ +| *| | | |/==\| +| | | * | |* | +| | | | | | +| | |----|[ ]|----| | | +|[ ]| | $ $ | | | +| +-+ /\ /\ | |[ ]|+ +| \/ \/ | | | ++-----+ +--+ | + | /\ /\ | + | \/ \/ +--+ | + | | |[=]|+ + +---+ +---+ | | + | | | | + |_|^|_| +----+ +""", +(20, 15), (13, 14)) + + +monastery = (r""" + +-----+-----+ + | | _ | + | | |_| | + | | |_| | + | | |_| | + | | ?| ++-----+-- --+-- --+-----+ +| | | | +| | ~~~ ~~~ | | +| ~~~ ~~~ | +| | ~~~ ~~~ | * | +| *| ~ V ~ | | ++-----+ /|\ +-----+ +|* | ~ ~ | | +| | ~~~ ~~~ | | +| ~~~ ~~~ *| +| | ~~~ ~~~ | | +| | ?| | ++-----+---|[ ]|---+-----+ + | | + | | + | * | + | | + | | + +----|^|----+ +""", +(74, 18), (12, 24)) diff --git a/sources/rinascita.py b/sources/rinascita.py new file mode 100644 index 0000000..66b7813 --- /dev/null +++ b/sources/rinascita.py @@ -0,0 +1,163 @@ +from asci_lib import Asci +from maps import * + + +world_maps = (world, smoastraund_house, hospital, narfec_castle, monastery) + + +def events(xp, current_map, x, y, stat): + coords = (x, y) + name = stat[-1] + + # Outdoor world + if current_map == 0: + # Point of interest : mountains + if coords == (12, 6): return { + "base": [0, "[IL N'Y A RIEN A VOIR ICI.]"], + 16: [0, "[ENTRE LES PIERRES EBOULEE VOUS ENTRAPERCEVEZ LES RESTES D'UN MUR.]\n1.Fouiller les decombres\n2.Aller voir plus haut", 2], + 17: [2, "[VOUS METTEZ AU JOUR LES RESTES D'UNE MAISON. LE MOBILIER, BIEN QUE DEFONCE ET HORS D'USAGE A L'AIR ENTRETENU]"], + 18: [-2, "[ALORS QUE VOUS ESCALADIEZ LE JEUNE PIERRIER, VOS YEUX SE POSENT SUR UNE MAIN A DEMI ENSEVELIE. LE MALHEUREUX LA-DESSOUS N'A AUCUNE CHANCE D'ETRE ENCORE VIVANT. ENCORE SECOUE DE VOTRE DECOUVERTE VOUS REDESCENDEZ AU PIED DE L'EBOULIS]"], + + 19: [1, "[EN RETOURNANT SUR VOS PAS VOUS TROUVEZ UNE PIERRE SEMBLABLE A CELLE QU'AVAIT SMOASTRAUND.]"] + } + + # Andon the factor + if coords == (71, 45): return { + "base": [0, "Je n'ai pas de courrier pour toi, {}, reviens plus tard !".format(name)], + 23: [0, "Ah ! {} ! J'ai entendu dire qu'il y avait eu un mort !\n1.Salut Andon. Un mort, dans les montagnes des Syerpenes ? Je suis au courrant.\n2.Ah bon ?".format(name), 2], + 24: [2, "Dans les montagnes ?! Mais non, le moine ! Un copiste a ete retrouve mort au monastere de Tal'za."], + 25: [1, "Tu n'en a pas entendu parle ? On a retrouve le corps d'un moine dans le monastere de Tal'za."], + + 26: [0, "Il parait que la Reine est inquiete, un mort plus le tremblement de terre...\n1.Sais-tu comment il est mort ?\n2.Ou est ce monastere ?\n3.Tu m'as l'air bien enthousisate...\n4.C'est le deuxieme mort, le tremblement de terre a fait une victime.", 4], + 27: [-1, "Aucune idée ! D'ennui sans doute..."], + 28: [-2, "Le monastere de Tal'za est assez au nord, à l'est. Suit la riviere Iense vers le nord, tu vas vite trouver le bois de Gonloube. Poursuit au nord-est et tu devrais le trouver."], + 29: [-3, "Evidemment, plusieurs mois ou il ne se passe rien et la... Tellement de choses sont en train de se passer !"], + 30: [-4, "Un deuxieme mort alors ? Extraordinaire ! Fait ce que tu veux, moi je veux aller voir ca de plus pres !"] + } + elif coords == (78, 20): return { + "base": [0, "Je n'ai pas de courrier pour toi, {}, reviens plus tard !".format(name)], + 26: [5, "Je savais que tu viendrais !"] + } + + # Smoastraund's house + elif current_map == 1: + # Smoastraund + if coords == (3, 1): return { + "base": [0, "[SMOASTRAUND EST MORT.]"], + + 0: [1, "J'ai... une derniere chose a te rheu rheu rheu rrr... A te dire... {}. Va dans la remise, Rheu rueh, et donne moi la pierrarrgh rheu Terenheti te la donneraarrgh rheu rheu...".format(name)], + 1: [0, "S'il te plait {}, apporte moi la pierre. Reuh rheu.".format(name)], + 2: [1, "Merci ! [LES YEUX DE SMOASTRAUND FIXERENT LE VIDE, SES MAINS SE CRISPERENT SUR LE CAILLOUX] Quatre fois sonnera rheu rheu l'hecatombe. // Les petits d'abord, les grands suivrheu... suivront. // Et la peur et la mort se repandront. Rheu rheu ! // La Reine les suivra dans la tombe. Retient ses vers mon ami ! Retiens ses vers... Reuh reuh. [SMOASTRAUND S'AFFAISSA BRUTALEMENT SUR SON LIT]"], + 3: [0, "Le quatrain resonna dans votre tete. Quatre fois sonnera l'hecatombe. // Les petits d'abords, les grand suivront. // Et la peur et la mort se repandront. // La Reine les suivra dans la tombe."] + } + + # Terenheti + elif coords == (16, 4): return { + "base": [0, "Je suis Terenheti, la femme de Smoastraund."], + + 1: [1, "La pierre ? Oui, la voici."], + + 3: [0, "Le palais de Narfec ? Il est nord de la riviere d'Iense, tu ne peux pas le rater."], + + 20: [0, "Besoin d'aide ?\n1.Oui, j'ai trouve une pierre...\n2.Non merci, tout va bien.", 2], + 21: [2, "Hum, laisse-moi la voir ? Ce n'est pas tout a fait la meme"], + 22: [-2, "D'accord {}, reviens si tu as besoin d'aide.".format(name)], + + 23: [0, "Je vais etudier la pierre reviens plus tard."] + } + + # Hospital + elif current_map == 2: + if coords == (16, 3): + if stat[0] < 100: return [0, "Tsst, du repos. Voila ce qu'il vous faut.", 50] + else: return [0, "Vous etes en pleine forme !"] + + # Narfec castle + elif current_map == 3: + # Guards + if coords == (11, 5) or coords == (15, 5): + if xp < 3: return [0, "Vous n'etes pas autorise a entrer."] + else: return { + "base": [0, "La Reine Acth d'Emcim'di vous attend."], + 3: [0, "[LE GARDE DEGAINE SON EPEE] Halte ! Qui etes-vous ?\n1.Je suis {0} et je viens voir la Reine pour une affaire urgente.\n2.Je viens avertir la Reine d'une terrible prophetie.\n3.Cela ne vous regarde pas.".format(name), 3], + 4: [0, "Dites-en plus ?\n1.C'est a propos d'une prophetie\n2.Cela ne vous regarde pas.", 2], + 5: [2, "Vous pouvez entrer."], + 6: [-3, "Vous n'etes pas autorise a voir la Reine."], + } + + # Queen + elif coords == (18, 2): + if xp <= 6: return [0, "Gaaarrde ! On s'est introduit dans ma chambre ! [DEUX GARDES SE PRECIPITENT VERS VOUS. L'UN DES DEUX VOUS PASSE SON EPEE AU TRAVERS DU CORPS. VOUS MOURREZ SUR LE COUP]", 0, -stat[0]] + else: return { + "base": [0, "Veuillez sortir de ma chambre. Immediatement."], + 7: [0, "Vous vouliez m'entrenir d'une prophetie ?\n1.Oui, sur son lit de mort, Smoastraund m'a confie une ultime prediction : vous etes en danger de mort.\n2.Vous etes en danger de mort.", 2], + 8: [2, "Allons bon... Je prendrais les dispositions qui s'imposent. Merci de m'avoir prevenue. Aller donc vous restaurer, les cuisines sont a l'est."], + 9: [1, "Hmm... Admettez que tout cela est assez peu convainquant... Je prendrais neanmoins quelques mesures. Merci de votre visite. Vous avez l'air affame, allez donc voir mon cuisinier, vous le trouverez dans l'aile est."], + + 10: [0, "Notre entretient est termine."], + } + + # Cook + elif coords == (24, 2): return { + "base": [0, "Vous n'avez rien a faire ici."], + 10: [0, "Tenez. [ALORS QUE LE CUISINIER VOUS DONNAIT UN BOUT DE PAIN ET DU VIN, UN BRUIT SOURD SE REPANDIT. LES MURS TREMBLERENT, EBRANLANT TOUTE LA STRUCTURE DU CHATEAU.]\n1.Qu'est-ce que c'etait ?\n2.Vous avez entendu ?", 2], + 11: [2, "Un tremblement de terre... Cela fait bien longtemps que nous n'en avions plus eu..."], + 12: [1, "Oui, j'ai entendu, les glissements de terrain sont rares par ici et cela fait longtemps que nous n'en avions pas eu."], + + 13: [0, "Cela fait des decenies que les montagnes des Syerpenes ne bougent pas, ce n'est pas un bon presage...\n1.Il y a des gens qui vivent la-bas ?\n2.Qu'entendez-vous par mauvais presage ?", 2], + 14: [2, "Il y avait un vieil ermite je crois... Tres au nord..."], + 15: [-2, "Aussi loin que ma memoire remonte, nous n'avons eu que deux ou trois tremblements, et a chaque fois, des choses etranges se sont produites..."], + + 16: [0, "Prenez soin de vous."] + } + + # Monastery + elif current_map == 4: + # Point of interest : monastery + if coords == (17, 17): return [0, "[DERRIERE VOUS, LA LOURDE PORTE DU MONASTERE. DANS LE HALL PERE MACOPE SURVEILLE LE CLOITRE. LE SOL DE PAVE LAISSE PLACE AU CENTRE A UN JARDIN DECOUPE EN QUATRE PARTIE, ET PIECE D'EAU AU CENTRE. LES AILES OUEST ET EST SONT OCCUPÉES PAR QUATRES FRERES, LE SCRIPTORIUM SE SITUE PLUS AU NORD, DANS LE PROLONGEMENT DE L'AILE EST ET LA CELLULE DU PERE MACOPE EST PLACEE DE L'AUTRE COTÉ]"] + + # Monastery'chief + elif coords == (14, 21): return { + "base": [0, "Bienvenue dans la maison de Dieu mon fils."], + 31: [0, "Bonjour et bienvenue mon fils. Ce qui nous arrive est terrible, monstrueux !\n1.Expliquez-vous ?\n2.Je l'ai toujours dit : lire tue.\n3.Pouvez-vous me decrire les derniers evenements ?", 3], + 32: [-1, "Mais enfin, n'etes-vous pas au courrant !? Dieu a rappele frere Rolen a lui !"], + 33: [-2, "Mecreant ! Surveillez votre langue dans les lieux consacres !"], + 34: [1, "Hier au soir, frere Rolen finissait un manuscrit pour la Reine. L'ouvrage ne devait souffrir d'aucun retard, aussi resta-t-il tard eveille. Je me suis rendu compte de son abscence aux offices de laudes. M'etant rendu dans sa cellule et ne le trouvant point a son ouvrage, je me rendit au scriptorium. Le pauvre gisait, mort, sur son pupitre."], + + 35: [0, "Les autres freres sont tous dans leur cellule."] + } + + # Brother 1 + elif coords == (1, 13): return { + 35: [0, "Je n'ai pas vu frere Rolen...\n1.Ou etiez-vous aux Vigiles ?\n2.Avez-vous entendu quelque chose ?\n3.A quoi travaillais frere Rolen ?\n4.Frere Rolen avait-il des rivaux ?", 4], + 36: [-1, "J'etais ici meme, je n'ai quitte ma cellule que pour aller aux Laudes puis pere Macope a decouvert le corps. Je ne suis pas sorti depuis."], + 37: [-2, "Non, je devais dormir au moment des faits."], + 38: [-3, "Il enluminais un receuil de propheties pour la Reine."], + 39: [-4, "Sans doute quelques'un oui... Il etait appliqué a son travail, et pere Macope se faisant vieux.. Frere Rolen etait naturellement presenti pour lui succeder."] + } + + return [0, "Hmm ?"] + + +def fights(xp, current_map, x, y, stat): + return True + + +def display_stat(stat): + print("<*> Statisques <*>") + print("Points de vie : {}".format(stat[0])) + + +def extra_function(xp, current_map, x, y, stat): + pass + + +def start(stat=[100], data=[0, 1, -4, -2]): + if len(stat) == 1: + name = input("Entrez votre nom :\n>") + stat.append(name) + + rpg_python = Asci(world_maps, events, fights, display_stat, extra_function) + stat, data = rpg_python.mainloop(100, stat, data=data, legend=("@", "^", "*?", "$")) + + print("Pour continuer :\nstart({}, {})".format(stat, data))