Add maps and houses, mecanics, spells display, inventory, stats, and time gestion

This commit is contained in:
Shadow15510 2021-11-12 21:35:27 +01:00
parent c119ec1b55
commit 0b8fe31d41
13 changed files with 857 additions and 173 deletions

View File

@ -17,12 +17,12 @@ alfheim = (r"""
~~~~ ## _ |_/ \_/ _ \_/ \_| ## ## |__| ## ~~~~
~~~~ #### / \ |_| |_|/^\|_| |_| __ #### ~~~~
~~~~ || _ |_| * ## ## / \ `' || ~~~~
~~~~ / \ ### ### ## ## |__| . , ~~~~
~~~~ /-\ ### ### ## ## |__| . , ~~~~
~~~~~~~~~ |_| _ ##### ##### `' `_ ,, , ~~~
~~~~~~~~~ /o\ ### ? ### ' _ ``' / \ ~~~
~~~~~~~~~~~ |_| /-\ /-\ , / \ |_| ~~~~ ~~~
~~~~~~~~~~~~ ### ### ' ,|_| .' _ ~~~~~ ~~~
~~~~~~ ~~~~~~~ ### ##### ` ##### . ` .,. / \ ~~~~~ ~~~
~~~~~~ ~~~~~~~ ### ##### ` ##### . ` .,. /-\ ~~~~~ ~~~
~~~~~ ~~~~~~~ ##### ### ' ### _ ` , _ |_| _ ~~~~~~ ~~~
~~~~~ __ ~~ ### /-\ /-\ ` / \ , /o\ / \ ~~~~~~~~~~
~~~~~~ / \ /-\ ' . '``,'' |_|` |_| |_| ~~~~~~~~~~
@ -36,7 +36,7 @@ alfheim = (r"""
~~~~~~~~~~~ ### ##### ### ##### ##### |==|==|==| ~~~~~
~~~~~~~~~~ ### |_| ##### ##### ### ### _ ~~~~~
~~~~~~~~~ ##### ### ##### /-\ /-\ ### _ / \ _ ~~~~
~~~~~~~~~ ##### |_| ### ### ##### / \ |_| / \ ~~~~
~~~~~~~~~ ##### |_| ### ### ##### /-\ |_| / \ ~~~~
~~~~~~~~~ ### |_| ##### ### ### |_| |_| ~~~~
~~~~~~~ |_| ~~~~~~~ ##### ##### /-\ _ ~~~~
~~~~~~~ ~~~~~~~~~~~~~~~~~~ ### ##### / \ _ ~~~~
@ -78,8 +78,8 @@ alfheim = (r"""
(14, 68, 1, 28, 13), # Vanaheim
# Maisons
(34, 16, 23, 0, 0),
(52, 31, 24, 0, 0), # Auberge
(34, 16, 23, 25, 19),
(52, 31, 24, 20, 19), # Armurerie
)
# * : (11; 4)
@ -88,4 +88,67 @@ alfheim = (r"""
# * : (27; 54)
def alfheim_po(coords):
if coords == (34, 20): return [0, ""]
if coords == (34, 20): return [0, "Quelques arbres au sud vous masque la vue. Au nord, l'imposant palais des Elfes et ses quatres colonnes finement travaillee s'offre a votre vue. La lourde porte a deux battants en bois massif et fer forge vous fait face. Au sud est, les bruits d'un bourg en pleine activite montent a vos oreilles."]
def alfheim_npc(data, stat):
pass
h_23 = (r"""
|==================|
| |
| _ _ |
| / \ / \ |
| \_/ \_/ |
| |_| * |_| |
| |
| _ _ |
| / \ / \ |
| \_/ \_/ |
|===========| |_| |_| |===========|
| |
| |
| _ _ |
|__ __ / \ / \ __ __|
/ \ / \ \_/ \_/ / \ / \
\__/ \__/ |_| |_| \__/ \__/
| | | | | | | |
| | | | | | | |
/ \______/ \_______|^|______/ \______/ \ """,
(25, 19, 2, 34, 16)) # * : (23, 5)
def h_23_npc(data, stat):
pass
h_24 = (r"""
|====|_|======| |=====|_|====|
| /___\ | | /___\ |
| |===| |===========| |===| |
| * | | |
| +---+ | _ _ | +---+ |
| | | | (~) (~) | | | |
| | | | |_| |_| | | | |
| | | | | |
| +---+ +---+ |
| | _ _ | |
|=============| (~) (~) |============|
| | |_| |_| | |
| * |
| |
| | _ _ | |
|=============| (~) (~) |============|
|=============| |_| |_| |============|
| |
|====| |====|
|====|^|====| """,
(20, 19, 2, 52, 31)) # * : (12, 3) * : (36, 12)
def h_24_npc(data, stat):
pass

View File

@ -1,4 +1,4 @@
# Asci (version 1.5.1)
# Asci (version 1.5.3)
class Screen:
def __init__(self, screen_width=21, screen_height=6):
@ -57,7 +57,7 @@ class Asci:
# Custom functions
self.legend = list(events_mapping.keys())
self._game_events_mapping = [events_mapping[i] for i in self.legend]
self._game_keys_mapping = {key: keys_mapping[key] for key in keys_mapping if not key in (1, 2, 3, 5, 9)}
self._game_keys_mapping = {key: keys_mapping[key] for key in keys_mapping if not key in (1, 2, 3, 5)}
# Screen initialisation
self.screen = Screen(screen_width, screen_height)
@ -101,12 +101,12 @@ class Asci:
return -1
def _keyboard(self, key, exit_key):
def _keyboard(self, key):
# Interaction while moving
if key in (1, 3, 5, 2):
cell_test = self._cell_test(key)
# Passage point
# Enter house
if cell_test == len(self.legend) - 2: # or (self.data[1] and cell_test < 0):
self.data[1], self.data[2], self.data[3] = self._get_map(key)
self.screen.set_world(self.maps[self.data[1]].map_data)
@ -128,22 +128,22 @@ class Asci:
self._game_keys_mapping[key](self.data, self.stat)
# Quit
elif key == exit_key:
elif key == 9:
self.screen.clear()
def _interaction(self, direction, cell_content):
x, y = self._looked_case(direction)
copy_data = [self.data[0], self.data[1], x, y]
data_copy = [self.data[0], self.data[1], x, y]
# Get the event
event = self._game_events_mapping[cell_content](copy_data, self.stat)
event = self._game_events_mapping[cell_content](data_copy, self.stat)
event = read_event(self.data[0], event)
# data modification
self.data[0] = copy_data[0]
self.data[1] = copy_data[1]
if copy_data[2] != x: self.data[2] = copy_data[2]
if copy_data[3] != y: self.data[3] = copy_data[3]
self.data[0] = data_copy[0]
self.data[1] = data_copy[1]
if data_copy[2] != x: self.data[2] = data_copy[2]
if data_copy[3] != y: self.data[3] = data_copy[3]
# XP and stat modification
self.data[0] += event.xp_earned
@ -165,12 +165,17 @@ class Asci:
return current_map, self.data[2], self.data[3]
def mainloop(self, end_game, stat=None, data=[0, 0, 0, 0], routine=None, player="@", door="^", walkable=" ", exit_key=9):
def mainloop(self, end_game, stat=None, data=None, routine=None, player="@", door="^", walkable=" ", exit_key=9):
if exit_key in self._game_keys_mapping:
raise ValueError(f"'{exit_key}' is already assigned to a function.")
# 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
if not data: self.data = [0, 0, 0, 0]
else: self.data = [data[0], data[1], data[2] - 10, data[3] - 3]
self.legend.append(door)
self.legend.append(walkable)
@ -189,12 +194,14 @@ class Asci:
if not key: key = key_buffer
else: key_buffer = key
self._keyboard(key, exit_key)
self._keyboard(key)
# Launching the game routine
if routine: routine(self.data, self.stat)
if self.stat[0] <= 0: self.stat[0] = 100
self.data[2] += 10
self.data[3] += 3
return self.stat, self.data
@ -250,3 +257,10 @@ def read_event(xp, event):
raise TypeError("event is of type {} instead of list".format(type(event)))
return Event(*event)
def print_text(text):
for i in text_formater(text):
print("\n" * 7)
print(i)
input()

View File

@ -12,7 +12,7 @@ asgard = (r"""
/ \ /\ /Glitnir\ /\ / ~~\ /\ / \ /\ /\ \/ \ /___________________________\ \
/ \ / \ |__|^|__| / \ ~~ / \ / \ / \ /\ /\ | Valaskjalf | /\ \
/\ / \ /\ /\ / \ /\~/ \ /\ / \ /\ / \ / \ / \ /_______________________________\ / \
/ \ / \ * / \ / \~ \ \ \ \ \ / \ /\ / \ |_/ \_/ \_/ _ \_/ \_/ \_| /\ / \ /\
/ \ / \ * / \ / \~ / \ / \ \ / \ /\ / \ |_/ \_/ \_/ _ \_/ \_/ \_| /\ / \ /\
/\ /\ / \ /\ / \ / \ / \~ / \ / \ \ / / \ /\ \ |_| |_| |_|/^\|_| |_| |_| / \ /
/ \ / \ / \ / ~ \ / \ / \ / \ | | / \ /\ /
/ \/ \ /\ / \ ### _ ~ _________ / /\ / \ /\ -|--|--|--|-/ | /\ / / \
@ -32,7 +32,7 @@ asgard = (r"""
#### ###### ~~~ /__________\ ### /-\ ~~~~~ / / \ / \ /
### #### ~~ |_//^^\\_| ##### ~~~ ### _________ / \ /\ / \/
|| ## || ~~ |_| |_| _ ### ### ~~~~~ | | ##### /Folkvangr\ * / \ ~/\
#### ~~~ |_| |_| /o\ /-\ ##### ~~~~~| | ### |<o> _ <o>| _ / \ ~~/ \
#### ~~~ |_| |_| /o\ /-\ ##### ~~~~~| | ### |[O] _ [O]| _ / \ ~~/ \
###### _ ~~~ |_| ### ______ ~~| | /-\ |___|^|___| /o\ ~~~~~/
###### /o\ ~~~ * /-\ /Noatun\ | |~~ ### |_| _ ~~/\ /
#### |_| ~~~~~~~~~~~~~~~~~ |_/^^\_| ### | |~~~~~~ ##### ##### /o\ ~~/ \
@ -94,17 +94,16 @@ asgard = (r"""
( 64, 36, 14, 15, 14), # Noatun (2/2)
(120, 41, 15, 14, 14), # Landivi
( 13, 43, 16, 29, 29), # Breidablik
( 75, 50, 17, 0, 0), # Thrymrheimr
( 27, 56, 18, 0, 0), # Himinbjorg (1/2)
( 28, 56, 18, 0, 0), # Himinbjorg (2/2)
( 57, 67, 19, 0, 0), # Sokkvabekkr
( 10, 69, 20, 0, 0), # Alfheimr (1/2)
( 11, 69, 20, 0, 0), # Alfheimr (2/2)
( 75, 50, 17, 24, 24), # Thrymrheimr
( 27, 56, 18, 24, 24), # Himinbjorg (1/2)
( 28, 56, 18, 25, 24), # Himinbjorg (2/2)
( 57, 67, 19, 25, 14), # Sokkvabekkr
( 10, 69, 20, 34, 24), # Alfheimr (1/2)
( 11, 69, 20, 35, 24), # Alfheimr (2/2)
)
def asgard_npc(data, stat):
coords = data[2], data[3]
pass
# * : ( 34, 7)
# * : ( 29, 13)
# * : ( 19, 20)
@ -123,6 +122,7 @@ def asgard_npc(data, stat):
# * : ( 46, 65)
# * : ( 16, 71)
# * : (138, 71)
pass
def asgard_po(coords):
if coords == (120, 26): return [0, "De hautes montagnes vous entourent de toutes part. Taillées dans la roche enneigee, les marches de l'escalier qui mene a Valaskjalf se decoupent nettement. La grande demeure d'Odin et son toit d'argent domine les environs."]
@ -133,11 +133,11 @@ def asgard_po(coords):
h_9 = (r"""
|----------|
|==========|
|[===][===]|
| |
| |
|---------| * |---------|
|=========| * |=========|
| |
| _ _ _ _ |
| |_| |_| |_| |_| |
@ -149,16 +149,20 @@ h_9 = (r"""
||^|| """,
(15, 13, 0, 30, 11)) # * : (19, 4)
def h_9_npc(data, stat):
pass
h_10 = (r"""
|----------------------------------------------------|
|====================================================|
| |
| |
| |
| |----------------\ /-----------------| |
| |================\ /=================| |
| | | |
| | | |
| \ __ / |
@ -181,18 +185,21 @@ h_10 = (r"""
(29, 23, 0, 116, 14),
(30, 23, 0, 116, 14)) # * : (25, 17)
def h_10_npc(data, stat):
pass
h_11 = (r"""
|----------------------------|
|============================|
| _ |
| |o| |
| /___\ |
| (___ ___) |
| (____ ____) |
|---------| (_____ _____) |--------|
|=========| (_____ _____) |========|
| * |
| |
| __ ### __ |
@ -208,19 +215,22 @@ h_11 = (r"""
|^| """,
(24, 19, 0, 70, 19)) # * : (34, 7)
def h_11_npc(data, stat):
pass
h_12 = (r"""
|----------------------------|
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-|
| __ |
| |()| |
| |__| |
| * |====| |
| |
| ~~~~ |
|---------| ~~\/~~ |---------|
|=-=-=-=-=| ~~\/~~ |=-=-=-=-=|
| [=====] /~~~||~~~\ [=====] |
| [=====] [==========] [=====] |
| _ _ |
@ -236,14 +246,17 @@ h_12 = (r"""
(24, 19, 0, 25, 31),
(25, 19, 0, 26, 31)) # * : (19, 4)
def h_12_npc(data, stat):
pass
h_13 = (r"""
||
|-----------------------------------||--|
|----------------|---o---o---o-----/ \-|
|===================================||==|
|================|===o===o===o=====/ \=|
|[==-==/ \==-==]| |__| |
|[-===/ \==--]| _ |
|[=-=/ \-==]| |o| __ |
@ -258,6 +271,9 @@ h_13 = (r"""
|^| """,
(20, 14, 0, 110, 34)) # * : (21, 8)
def h_13_npc(data, stat):
pass
@ -281,6 +297,9 @@ h_14 = (r"""
(14, 14, 0, 63, 36),
(15, 14, 0, 64, 36)) # * : (26, 2)
def h_14_npc(data, stat):
pass
@ -303,6 +322,9 @@ h_15 = (r"""
|^| """,
(14, 14, 0, 120, 41)) # * : (10, 6)
def h_15_npc(data, stat):
pass
@ -339,3 +361,137 @@ h_16 = (r"""
(_) | | (_)
|=| |/^\| |=| """,
(29, 29, 0, 13, 43)) # * : (50, 14)
def h_16_npc(data, stat):
pass
h_17 = (r"""
### |============================| ###
##### | | #####
### | | ###
|_| | ~~~~~~~~~~~~~~~~~~ | |_|
| ~~~~~~~~~~~~~~~~~~~~ |
### | ~~~~~~~~~~~~~~~~~~~~ | ###
##### | ~~~~~~~~~~~~~~~~~~~~ | #####
### | ~~~~~~~~~~~~~~~~~~ | ###
|_| | | |_|
| |
|===================/ \===================|
| |
| _ _ _ _ |
| (-) (-) (-) (-) |
| |_| |_| |_| * |_| |
| |
| |
| |
| |
| _ _ _ _ |
| (-) (-) (-) (-) |
| |_| |_| |_| |_| |
| |
|======================| |=======================|
|^| """,
(24, 24, 0, 75, 50)) # * : (36, 14)
def h_17_npc(data, stat):
pass
h_18 = (r"""
|================================================|
|================================================|
| |
| |
| __ __ |
| (~~) (~~) |
| |--| __ |--| |
| | | |<>| | | |
| | | |--| | | |
| |__| |____| * |__| |
| |
| |
| __ __ |
| (~~) ## (~~) |
| |--| #### |--| |
| | | #### | | |
| | | ## | | |
| |__| || |__| |
| |
| |
| |
|=====================\| |/=====================|
|=====================/| |\=====================|
\| |/
/|^^|\ """,
(24, 24, 0, 27, 56),
(25, 24, 0, 28, 56)) # * : (30, 9)
def h_18_npc(data, stat):
pass
h_19 = (r"""
|================================================|
| |
| ########## |
| ########## |
| ###### ###### |
| ###### __ |===[]===| __ ###### |
| (__) | |__| | (__) |
| |--| | *| |--| |
| |__| | | |__| |
| ###### |==/ \==| ###### |
| ###### ###### |
| |
| |
| |
|=======================|^|======================|""",
(25, 14, 0, 57, 67)) # * : (28, 7)
def h_19_npc(data, stat):
pass
h_20 = (r"""
|============================|
| |
| _ _ |
|===================| (-) (-) |
| | |_| __ |_| |
| | |[]| |
| ~~~ | | | |
| ~~~(~)~~~ | _ |____| _ |
| /~~(_____)~~\ | (-) (-) |
| \___________/ | |_| * |_| |
| |
| |
| |
| |
| |
| ~~~ | _ _ |
| ~~~(~)~~~ | (-) (-) |
| /~~(_____)~~\ | |_| |_| |
| \___________/ | |
| | |
| | _ _ |
|===================| (-) (-) |
| |_| |_| |
| |
|============|^^|============|""",
(34, 24, 0, 10, 69),
(35, 24, 0, 11, 69)) # * : (39, 9)
def h_20_npc(data, stat):
pass

View File

@ -13,15 +13,15 @@ _\ ### ##### ### ##### /_\ ### ##### ##### /_\ ##### /_
#### ### ##### ### |+| |_| ##### /_\##### /_\ |+| #########
#### /_\ ##### /_\ |_| ##### ##### _ |_| ### ####
### ### ### ### |+| ___ ### /_\ ###
/_\ /_\ _ /_\ /_\ |_| / \ ##### /_\
/_\ /_\ _ /_\ /_\ |_| /[O]\ ##### /_\
### ### |+| |___| ##### ###
##### ##### ' ' |_| ___ _ ### #####
##### ##### __ / \ ` ' _ |+| /_\ #####
### ### _ .' ,` /()\ |___| /-\ |_| ### ###
/_\ /_\ |+| .` | |____ |^| _ ##### /_\
/_\ /_\ |+| .` | |____ |_| _ ##### /_\
### ### |_| '' |_ () \ _ `' ` |+| #####
#### ##### ,, |^|_____| |+| ___ , |_| ###
#### ##### , `` |_| / \ , ,., /_\ ###
#### ##### , `` |_| /o o\ , ,., /_\ ###
### ### ,` ` |___| ,, #####
/_\ /_\ _ ' .` _ , _ #####
### |+| _ , |+| .., |+| ###
@ -29,9 +29,9 @@ _\ ### ##### ### ##### /_\ ### ##### ##### /_\ ##### /_
##### |+| |_| . `, /<>\ ____ /<>\ ` ###
### |_| , , ' | |____/O O\____| | ' _ ##### ###
/_\ '' ' |[]| [] | | [] |[]| , |+| ##### ####
### ___ `` '' | | | __ | | | ,'. *|_| ### ### ####
##### ### / \ ` . * |__|____|/^^\|____|__| ,`` #####/_\ ###
# ########## _ |___| ' ',, ` ?, ##### /_\
### _ `` '' | | | __ | | | ,'. *|_| ### ### ####
##### ### / \ ` . * |__|____|/^^\|____|__| ,`` #####/_\ ###
# ########## _ |_| ' ',, ` ?, ##### /_\
## ### ##### |+| '` ` `' , ###
## /_\ ### |_| `` _ ` _ .. _ ` /_\ ###
# /_\ |+| . (o) ',',, (o) ``` _ ### #####
@ -40,19 +40,19 @@ _\ ### ##### ### ##### /_\ ### ##### ##### /_\ ##### /_
##### ##### |+| ` ,` , '' . ` ` ` . ### /_\
##### ### |_| _ _ ' .' _ ,'., ,, /_\ #
### /_\ . |+| ___ (o) . (o) .`. ___ ### ##
/_\ ### ` |_| / \ /-\ '', /-\ ', , / \ ##### ##
/_\ ### ` |_| /___\ /-\ '', /-\ ', , / \ ##### ##
##### ### , |___| , |___| ##### #
##### ##### , ___ _ . _ `,.,`. ### /
### #### ##### .`.` , , / \ (o) ' (o) ' . /_\ ###
### #### ##### .`.` , , /---\ (o) ' (o) ' . /_\ ###
##### /_\ ### ', , |___| /-\ ,.` /-\ .. ___ _ #####
##### /_\ _ `, ','. , `. / \ ` |+| #####
##### /_\ _ `, ','. , `. /<o>\ ` |+| #####
### ### |+| '' _ ___ . . ` |___| ` |_| ###
/_\ ##### |_| ' |+| / \ , , ___ ... ### /_\
### ##### _ ', |_| |___| ', / \ ', ,''`' #####
##### ### ___ |+| , |___| ` #####
##### /_\ ___ / \ |_| '.` '` _ , ###
### / \ |___| ,. ` ' ``', , |+| , ### /_\###
## /_\ ### |___| _ . _ ` _ |_| . ##### #####
/_\ ##### |_| ' |+| / \ , , _ ... ### /_\
### ##### _ ', |_| |___| ', /-\ ', ,''`' #####
##### ### ___ |+| , |_| ` #####
##### /_\ _ / \ |_| '.` '` _ , ###
### /-\ |___| ,. ` ' ``', , |+| , ### /_\###
## /_\ ### |_| _ . _ ` _ |_| . ##### #####
### ##### , ___ |+| _ |+| . |+| ##### #####
### ##### ., / \ |_| ' |+| |_| . |_| , ### ###
## ### ., |___| _ ' |_| .`,` . /_\ /_\
@ -89,4 +89,7 @@ _\ /_\ ### ', |+| ___ ' '. ``,..' '.`.`
# * : (108, 67)
def helheim_po(coords):
if coords == (88, 32): return [0, ""]
if coords == (88, 32): return [0, "Entoure de pierre tombales, de nombreux chemins serpentent. De lourd nuages fonces entretiennent une atmosphere pesante et une brume noiratres flotte dans l'air. Dans la penombre ambiante, une haute maison se detache, masse plus sombre encore que le reste, percee de fines fenetres et encadree de deux tours."]
def helheim_npc(data, stat):
pass

View File

@ -1,4 +1,4 @@
from asci_lib import Asci, text_formater
from asci_lib import Asci, print_text
from asgard import *
from vanaheim import *
@ -11,64 +11,62 @@ from muspellheim import *
from helheim import *
# maps = (
# asgard,
# vanaheim,
# alfheim,
# midgard,
# niflheim,
# jotunheim,
# nidavellir,
# muspellheim,
# helheim,
# h_9, h_10, h_11, h_12, h_13, h_14, h_15, h_16, h_17, h_18, h_19, h_20,
# h_21, h_22,
# h_23, h_24,
# h_25, h_26, h_27, h_28,
# h_29, h_30, h_31, h_32,
maps = (
asgard,
vanaheim,
alfheim,
midgard,
niflheim,
jotunheim,
nidavellir,
muspellheim,
helheim,
h_9, h_10, h_11, h_12, h_13, h_14, h_15, h_16, h_17, h_18, h_19, h_20,
h_21, h_22,
h_23, h_24,
h_25, h_26, h_27, h_28,
h_29, h_30, h_31, h_32,)
# h_33, h_34, h_35, h_36, h_37, h_38, h_39,
# h_40, h_41, h_42, h_43, h_44,
# h_45, h_46, h_47, h_48,
# h_49, h_50)
# npc = (
# asgard_npc,
# vanaheim_npc,
# alfheim_npc,
# midgard_npc,
# niflheim_npc,
# jotunheim_npc,
# nidavellir_npc,
# muspellheim_npc,
# helheim_npc,
# h_9_npc, h_10_npc, h_11_npc, h_12_npc, h_13_npc, h_14_npc, h_15_npc, h_16_npc, h_17_npc, h_18_npc, h_19_npc, h_20_npc,
# h_21_npc, h_22_npc,
# h_23_npc, h_24_npc,
# h_25_npc, h_26_npc, h_27_npc, h_28_npc,
# h_29_npc, h_30_npc, h_31_npc, h_32_npc,
npc_data = (
asgard_npc,
vanaheim_npc,
alfheim_npc,
midgard_npc,
niflheim_npc,
jotunheim_npc,
nidavellir_npc,
muspellheim_npc,
helheim_npc,
h_9_npc, h_10_npc, h_11_npc, h_12_npc, h_13_npc, h_14_npc, h_15_npc, h_16_npc, h_17_npc, h_18_npc, h_19_npc, h_20_npc,
h_21_npc, h_22_npc,
h_23_npc, h_24_npc,
h_25_npc, h_26_npc, h_27_npc, h_28_npc,
h_29_npc, h_30_npc, h_31_npc, h_32_npc,)
# h_33_npc, h_34_npc, h_35_npc, h_36_npc, h_37_npc, h_38_npc, h_39_npc,
# h_40_npc, h_41_npc, h_42_npc, h_43_npc, h_44_npc,
# h_45_npc, h_46_npc, h_47_npc, h_48_npc,
# h_49_npc, h_50_npc,)
# po = (
# asgard_po,
# vanaheim_po,
# alfheim_po,
# midgard_po,
# niflheim_po,
# jotunheim_po,
# nidavellir_po,
# muspellheim_po,
# helheim_po)
po_data = (
asgard_po,
vanaheim_po,
alfheim_po,
midgard_po,
niflheim_po,
jotunheim_po,
nidavellir_po,
muspellheim_po,
helheim_po)
def npc(data, stat):
npc = ()
event = png[data[1]](data, stat)
event = npc_data[data[1]](data, stat)
if not event: return [0, "Hmm ?"]
else: return event
@ -77,9 +75,7 @@ def npc(data, stat):
def point_of_interest(data, stat):
coords = data[2], data[3]
po = ()
event = po[data[1]](coords)
event = po_data[data[1]](coords)
if not event: return [0, "Il n'y a rien à voir ici."]
else: return event
@ -88,74 +84,128 @@ def point_of_interest(data, stat):
def routine(data, stat):
stat[4] = (stat[4] + 1) % 1440
if stat[6][0] != -1 and stat[6][0] - stat[4] >= 5:
# Mana regeneration
if stat[2][4] < stat[0] // 20 and not (stat[4] % 10):
stat[2][4] += 1
# Leave dialogue
if stat[6][0] != -1 and stat[4] - stat[6][0] >= 2:
stat[6] = (-1, -1)
def fight(player_stat, opponent_stat):
pass
def display_stat(data, stat):
# stat = [0 - PV, 1 - pièces d'or, 2 - [vitesse, agilité, attaque, defense, magie], 3 - [arme, armure], 4 - ticks, 5 - nom, 6 - (temps, xp), 7 - classe, 8 - sorts connus : (id, level)]
if data[1] < 9: place = ("Asgard", "Vanaheim", "Alfheim", "Midgard", "Niflheim", "Jotunheim", "Nidavellir", "Muspellheim", "Helheim")[data[1]]
else: place = "Interieur"
health, money, _, _, ticks, _, _, _, _ = stat
hours = ticks // 60
if 4 <= hours <= 5:
hours = " |aube - {}h".format(hours)
elif 6 <= hours <= 12:
hours = " |matin - {}h".format(hours)
elif 13 <= hours <= 18:
hours = " |apres-midi - {}h".format(hours)
elif 19 <= hours <= 20:
hours = " |crepuscule - {}h".format(hours)
else:
hours = " |nuit - {}h".format(hours)
health = " |Vie : {}/100".format(health)
money = " |Argent : {} PO".format(money)
print("<o> Statistiques <o>")
print(" |" + place.center(16, " ") + "|")
print(hours + " " * (18 - len(hours)) + "|")
print(health + " " * (18 - len(health)) + "|")
print(money + " " * (18 - len(money)) + "|")
print("<o> ============ <o>")
input()
def inventory(data, stat):
weapon = ("<aucune>", "dague", "marteau", "masse", "fleau", "hache", "epee", "espadon", "hache double")[stat[3][0]]
shield = ("<aucune>", "rondache", "pavois", "cote de maille", "broigne", "harnois")[stat[3][1]]
weapon = " |" + weapon + " " * (16 - len(weapon)) + "|"
shield = " |" + shield + " " * (16 - len(shield)) + "|"
print("<o> Inventaire <o>")
print(" |- Arme : |\n{}".format(weapon))
print(" |- Armure : |\n{}".format(shield))
print("<o> ============ <o>")
input()
def sleep(data, stat):
stat[4] = 360
# If the player is at home
if data[1] == 27:
stat[0] += 10
if stat[0] > 100: stat[0] = 100
if stat[0] < 100: stat[0] += 10
stat[2][4] += 2
print("Vous vous reposez.")
input()
def display_stat(data, stat):
# stat = [0 - PV, 1 - pièces d'or, 2 - arme, 3 - armure, 4 - ticks, 5 - nom, 6 - (temps, xp)]
place = ("Asgard", "Vanaheim", "Alfheim", "Midgard", "Niflheim", "Jotunheim", "Nidavellir", "Muspellheim", "Helheim")[data[1]]
health, money, _, _, ticks, _, _ = stat
hours = ticks // 60
if 4 <= hours <= 5:
hours = "aube"
elif 6 <= hours <= 12:
hours = "matin"
elif 13 <= hours <= 18:
house = "apres-midi"
elif 19 <= hours <= 20:
hours = "crepuscule"
else:
hours = "nuit"
def spell(data, stat):
spell_data = ("Soin", "Flammes", "Givre", "Etincelles", "Fatigue")
spell_level = ("I", "II", "III", "IV", "V")
print("<*> Statistiques <*>")
print("Lieu : {}".format(place))
print("Heure : {}".format(hours))
print("Vie : {}/100".format(health))
print("Argent : {} PO".format(money))
print("<*> <*>")
input()
to_disp = "Magie : {}".format(stat[2][4])
print("<o> Sorts <o>")
print(" |" + to_disp + " " * (16 - len(to_disp)) + "|")
for i in range(3):
if i < len(stat[8]):
spell_id, level = stat[8]
if spell_id >= 0:
to_disp = "{0} {1}".format(spell_data[spell_id], spell_level[level - 1])
print(" |" + to_disp + " " * (16 - len(to_disp)) + "|")
else:
print(" |<aucun> |")
def inventory(data, stat):
weapons = ("<aucune>", "dague", "marteau", "masse", "fleau", "hache", "epee", "espadon", "hache double")
shields = ("<aucune>", "rondache", "pavois", "cote de maille", "broigne", "harnois")
print("<*> Inventaire <*>")
print(" Arme :\n{}".format(weapons[stat[2]]))
print(" Armure :\n{}".format(shields[stat[3]]))
print()
print("<*> <*>")
print("<o> ============ <o>")
input()
events = {"*": npc, "?": point_of_interest}
keys = {4: display_stat, 6: inventory, 7: sleep}
keys = {4: display_stat, 7: spell, 6: inventory, 9: sleep}
def idk(stat=None, data=None):
if not stat:
name = input("Entrez votre nom : ")
stat = [100, 10, 0, 0, 360, name, (-1, -1)]
data = [0, 3, 44, 65]
paragraphs = text_formater("Au alentour du Ve siecle. Quelque part en Scandinavie. La bataille prenait place dans un champ saccage, les arbres alentours avaient ete abbatus pour les besoins en bois, et la nuit etait tombe depuis quelques heures. Une brusque douleur reveilla {0} et lui arracha un hurlement : les ennemis attaquaient, mais le jeune soldat ne put rien faire... Les reins pulverises par le violent coup de hache, il se traina sur quelques metres. L'assaut fut vite termine faute de combattants. A travers une brume de larmes et de douleur il entendit un homme se pencher sur lui, un infirmier peut-etre ? Mais ce dernier s'en alla vers un autre blesse. Ainsi se termina la courte vie de {0}.".format(name))
for i in paragraphs:
print("\n" * 7)
print(i)
input()
player_class = 0
while(not player_class):
print("Choisissez votre classe\n1. Guerrier\n2. Voleur\n3. Moine\n4. Mage")
print()
player_class = input(">")
try: player_class = int(player_class)
except: player_class = 0
# idk_game = Asci(maps, events, keys)
# idk_game.mainloop(100, stat, data, routine=routine, door="^_", walkable=".,`' ")
if player_class > 4: player_class = 0
if player_class == 1:
stat = [5, 5, 10, 5, 5]
elif player_class == 2:
stat = [5, 10, 5, 5, 5]
elif player_stat == 3:
stat = [5, 5, 5, 10, 5]
elif player_stat == 4:
stat = [5, 5, 5, 5, 10]
stat = [100, 10, stat, [0, 0], 1170, name, (-1, -1), player_class - 1, []]
data = [0, 3, 44, 66]
print_text("Au alentour du Ve siecle, quelque part en Scandinavie. La bataille prenait place dans un champ saccage, les arbres alentours avaient ete abbatus pour les besoins en bois, et la nuit etait tombe depuis quelques heures lorsque l'assaut debuta. Hache levee, a la seule lueur des torches, {0} et sa division se jeterent sur le camp adverse, mais, pris a revers, le combat tourna vite a la defaveur des assaillants qui furent reduit sans autres difficultes. Blesse a plusieurs endroit, {0} se trainait sur le sol, tentant de se refugier dans la nuit lorsqu'une forme humaine portant un espadon dans le dos et une lourde armure d'argent s'arrêta devant lui. La Valkyrie prit {0} dans ses bras. Il senti son ame se dissocier de son corps, il vit son cadavre, le champ de bataille, le pays entier lui apparut, un lueur aveuglante le forca a fermer les yeux et Vahalla lui apparu. Mais Odin avait d'autres plan pour {0} qu'une retraite parmi les meilleurs guerriers, et il renvoya {0} dans le vaste monde avec cet ultimatum : si {0} trouve la voie jusqu'a Asgard et le Valaskjalf, Odin conscent a le garder a son service, sinon il sera condamne a errer dans le monde sans jamais trouver le repos.".format(name))
idk_game = Asci(maps, events, keys)
stat, data = idk_game.mainloop(100, stat, data, routine=routine, door="^_", walkable=".,`' ", exit_key="q")
print(f"idk({stat}, {data})")

View File

@ -128,10 +128,10 @@ jotunheim = (r"""
(11, 120, 1, 56, 42), # Vanaheim
# Maisons
(29, 11, 33, 0, 0),
(88, 25, 34, 0, 0),
(89, 45, 35, 0, 0),
(60, 50, 36, 0, 0), # Palais de Thrym
(29, 11, 33, 19, 14),
(88, 25, 34, 14, 24),
(89, 45, 35, 30, 24),
(60, 50, 36, 34, 29), # Palais de Thrym
(64, 85, 37, 0, 0), # Manoir du sud (1/2)
(65, 85, 37, 0, 0), # Manoir du sud (2/2)
(23, 88, 39, 0, 0), # Auberge
@ -152,6 +152,144 @@ jotunheim = (r"""
# * : (6; 98)
def jotunheim_po(coords):
if coords == (60, 57): return [0, ""]
elif coords == (23, 70): return [0, ""]
elif coords == (60, 86): return [0, ""]
if coords == (60, 57): return [0, "Un bruit de fontaine monte a vos oreilles. A travers les arbres, l'immense palais de Thrym se dresse. Les enormes colonnes qui entourent le batiments sont a elles seules des symboles de demesures. Aux alentours se dresse quelques maisons tout aussi imposantes et enorme, mais moins travaillee."]
elif coords == (23, 70): return [0, "Face a la mer, sur une langue de terre, le phare se dresse, eclairant puissemment le large pour signaler l'estuaire."]
elif coords == (60, 86): return [0, "Un imposant manoir se tient devant vous, flanque de deux tours surmontes de domes en ardoise brillantes, l'ensemble est perce de multiples et larges ouvertures. Le parc autour se compose de quelques arbres et est delimite au nord par le fleuve."]
def jotunheim_npc(data, stat):
pass
h_33 = (r"""
|=====||=====|===========|======||=====|
| /__\ | | /__\ |
| |==| | _ | |==| |
| (_) | |
| |_| | * __ |
| ____ | | | |
| |____| | |__| |
| | _ | | | |
|============| (_) | |__| |
| | |_| | |
| |=============|
| | |
| | |
| | | |
|============|====|^|====|=============|""",
(19, 14, 5, 29, 11)) # * : (28, 4)
def h_33_npc(data, stat):
pass
h_34 = (r"""
|=============================|
|=============================|
| |
| |
| |============================|
| ____ ____ |=====____==========____=====|
| \__/ \__/ * \__/ \__/ |
| | | | | | | | | |
| | | | | | | | | |
| |__| |__| |__| |__| |
| |
| |
| |
| |
| |
| ____ ____ ____ ____ |
| \__/ \__/ \__/ \__/ |
| | | | | | | | | |
| | | | | | | | | |
| |__| |__| |__| |__| |
| |============================|
| |============================|
| |
|============| |==============|
|============|^|==============| """,
(14, 24, 5, 88, 25)) # * : (28, 6)
def h_34_npc(data, stat):
pass
h_35 = (r"""
|=======|---|=======| |=======|---|=======|
|=======|---|=======| |=======|---|=======|
| /_____\ | | /_____\ |
| |=====| |===|]O[|==|]O[|===| |=====| |
| |==================| |
| _ _ * |
| (~) (~) |
| __ __ |_| * |_| __ __ |
| | | | | | | | | |
| |__| |__| |__| |__| |
| | | | | | | | | |
| |__| |__| _ _ |__| |__| |
| | | | | (~) (~) | | | | |
| |__| |__| |_| |_| |__| |__| |
| |
| |
| |
| _ _ _ _ |
| (~) (~) (~) (~) |
| |_| |_| |_| |_| |
| |
| |
| |
|============================| |===========================|
|=[]=[]=[]=[]=[]=[]=[]=[]=[]=|^|=[]=[]=[]=[]=[]=[]=[]=[]=[]|""",
(30, 24, 5, 89, 45)) # * : (48, 5) * : (24, 7)
def h_35_npc(data, stat):
pass
h_36 = (r"""
|======================| |======================|
|======================| |======================|
| | | |
| | | |
| |============| |
| |============| |
| ####### * ####### |
| ######### ######### |
| ######### ######### |
| ######### ######### |
| ####### __ __ ####### |
| (==) (==) |
| |TT| |TT| |
| |__| |__| |
| ~~~ ~~~ |
| ~~(~)~~ ~~(~)~~ |
| /~~~T~~~\ /~~~T~~~\ |
| \=======/ __ __ \=======/ |
| (==) (==) |
| |TT| |TT| |
| |__| |__| |
| ####### ####### |
| ######### ######### |
| ######### ######### |
| ____######## ____ ____ ########____ |
| |II|####### |II| |II| #######|II| |
|==|II|================|II| |II|================|II|==|
|==|II|================|II| |II|================|II|==|
|II| |II| |II| |II|
|II| |II|/|^=|\|II| |II| """,
(34, 29, 5, 60, 50)) # * : (26, 6)
def h_36_npc(data, stat):
pass

View File

@ -171,12 +171,15 @@ h_25 = (r"""
|\/|^|\/| """,
(4, 16, 3, 42, 49))
def h_25_npc(data, stat):
pass
h_26 = (r"""
Auberge des Eddas
|---------|------------------|
| | |
| |==============[]==|
@ -191,7 +194,7 @@ h_26 = (r"""
|---|^|---| """,
(5, 12, 3, 76, 51))
def h26_npc(data, stat):
def h_26_npc(data, stat):
# * : (17, 7)
# * : (22, 7)
# * : (17, 8)
@ -235,7 +238,7 @@ h_27 = (r"""
| | + |
|=======| |
| | + |
| |-? | | _ |
| |- | | _ |
| |_| + | |_| |
| | |_| |
| + | |_| |
@ -243,6 +246,9 @@ h_27 = (r"""
|=======|^|=======| """,
(9, 16, 3, 44, 65))
def h_27_npc(data, stat):
pass
@ -265,3 +271,6 @@ h_28 = (r"""
|\/|^^|\/| """,
(24, 14, 3, 60, 69),
(25, 14, 3, 61, 69)) # * : (27, 6)
def h_28_npc(data, stat):
pass

View File

@ -124,8 +124,8 @@ muspellheim = (r"""
# Maisons
(87, 14, 45, 0, 0), # Auberge
(47, 53, 46, 0, 0),
(67, 89, 47, 0, 0), # Armurerie
(47, 53, 46, 0, 0), # Armurerie
(67, 89, 47, 0, 0),
(68, 89, 48, 0, 0),
)
@ -137,5 +137,8 @@ muspellheim = (r"""
# * : (29, 113)
def muspellheim_po(coords):
if coords == (66, 8): return [0, ""]
elif coords == (64, 97): return [0, ""]
if coords == (66, 8): return [0, "La mer s'etendait, calme. Bosquets et maisons peuplaient la cote, dont plusieurs petite tentes."]
elif coords == (64, 97): return [0, "La cloture de la propriete etait ouvragee, le manoir aussi. Constitue d'un corps de ferme rehabilite et entoure de deux tours decoratives, l'ensemble conservait un air propre et entretenu. Le jardin taille en temoigne."]
def muspellheim_npc(data, stat):
pass

View File

@ -105,5 +105,8 @@ nidavellir = (r"""
# * : (77, 61)
def nidavellir_po(coords):
if coords == (65, 7): return [0, ""]
elif coords == (66, 58): return [0, ""]
if coords == (65, 7): return [0, "La mer etendait ses rouleaux sur le sable noir. Au sud s'etend le rocheux royaume de Nidavellir. Le monde des nains a pour seul maison les montagnes. D'ancienne legendes racontent que certaines communiquent entre elles par des passages oublies."]
elif coords == (66, 58): return [0, "Coupee en deux par le fleuve, la chaine de montagne semble s'etendre a l'infini. De toute part le meme paysage rocailleux. Le terrain est si inhospitalier que les nains eux-meme restent dans leurs mines."]
def nidavellir_npc(data, stat):
pass

View File

@ -78,10 +78,10 @@ niflheim = (r"""
(109, 66, 3, 24, 90), # Midgard
# Maisons
(90, 15, 29, 0, 0), # Manoir au Nord
(6 , 24, 30, 0, 0), # Tour de guet
(91, 33, 31, 0, 0), # Mesnie à côté du quai
(57, 59, 32, 0, 0), # Palais des Glaces
(90, 15, 29, 24, 19), # Manoir au Nord
( 6, 24, 30, 9, 9), # Tour de guet
(91, 33, 31, 1, 14), # Mesnie à côté du quai
(57, 59, 32, 19, 14), # Palais des Glaces
)
# * : (105; 46)
@ -91,7 +91,7 @@ niflheim = (r"""
# * : (121; 68)
def niflheim_po(coords):
if coords == (113, 37): return [0, ""]
if coords == (113, 37): return [0, "Des tours de guets parsement la cote, plus loin, a l'ouest, une chaine de petites montagnes s'etend, coupant Niflheim en deux. Mais la partie est du monde est plus habitee et plus animee que la partie ouest qui reste majoritairement consitituee de forets."]
def niflheim_npc(data, stat):
coords = data[2], data[3]
@ -115,3 +115,104 @@ def niflheim_npc(data, stat):
elif data[0] == stat[6][1] + 2:
stat[6] = (-1, -1)
return [0, "Reviens quand tu voudras traverser."]
h_29 = (r"""
|=================| |==================|
| | | |
| |===========| |
| __ * __ |
| | | | | |
| |__| [O] [O] |__| |
| | | |_| |_| | | |
| |__| |__| |
| |
| [O] [O] |
| __ |_| |_| __ |
| | | | | |
| |__| |__| |
| | | [O] [O] | | |
| |__| |_| |_| |__| |
| |
| |====| |====| |
|=================| | | |==================|
|^| """,
(24, 19, 4, 90, 15)) # * : (15, 4)
def h_29_npc(data, stat):
pass
h_30 = (r"""
|===||=============|
| /__\ |
| |==| *+--+ |
| | | |
| *| | |
| | | |
| +--+ |
| |
| |
|=======|^|========|""",
(9, 9, 4, 6, 24),
) # * : (13, 2) * : (13, 4)
def h_30_npc(data, stat):
pass
h_31 = (r"""
|=========|
| [-=-==] |
| [===--] |
| |
| * |==================|
| |
| __ __ |
| | | | | |
| *|__| |__| |
| | | | | |
| |__| |__| |
| | | | | |
| |__| |__| |
| |
|^|==========================|""",
(1, 14, 4, 91, 33)) # * : (3, 4) * : (15, 8)
def h_31_npc(data, stat):
pass
h_32 = (r"""
|======================================|
| |
| |
| ~~~~ |
| __ ~~(~~)~~ __ |
| | | ~(______)~ | |* |
| |__| (__________) *|__| |
| | | | | |
| |__| |__| |
| |
| |
| |
| \__/ \__/ \__/ \__/ |
|==| |======| |=| |=| |======| |==|
| | | | |^=| | | | | """,
(19, 14, 4, 57, 59)) # * : (34, 5) * : (29, 6)
def h_32_npc(data, stat):
pass

View File

@ -28,7 +28,7 @@ vanaheim = (r"""
\ / \ /|\ |_| . |__| .' / \ /\ /
\ /\ / \ ` ``' ### , _ / \ / \
/ \ / \ /\ _ ##### ', /-\ / \
/ \ / \ ? . / \ ### , |_| /\ \ /
/ \ / \ . / \ ### , |_| /\ \ /
/ \ /\ / \ |_| /|\ , * ` / \ /
/ \ / \ ,. _ ',` '' / \ /\
/ \ ### _/ \ ### _____ ' / \ / \
@ -55,8 +55,8 @@ vanaheim = (r"""
(56, 42, 5, 11, 120), # Jotunheim
# Maisons
(44, 11, 21, 0, 0), # Auberge
(52, 35, 22, 0, 0),
(44, 11, 21, 5, 9), # Auberge
(52, 35, 22, 20, 19),
)
# * : (31; 12)
@ -64,6 +64,80 @@ vanaheim = (r"""
# * : (52; 30)
# * : (45; 39)
def vanaheim_npc(data, stat):
pass
def vanaheim_po(coords):
if coords == (42, 20): return [0, ""]
elif coords == (26, 29): return [0, ""]
if coords == (42, 20): return [0, "Vous vous trouvez sur le bord d'une large place verdoyante et bien entretenue. Entoure de montagnes, Vanaheim semble hors d'atteinte du temps. Quelques maisons et arbres completent le decor."]
h_21 = (r"""
|=======================|
| * | |
| |-------------|
| |
| +--+ +--+ +--+ |
| | | | | | | |
| +--+ +--+ +--+* |
| |
| |
|===|^|=================|""",
(5, 9, 1, 44, 11)) # * : (8, 1) * : (21, 6)
def h_21_npc(data, stat):
coords = data[2], data[3]
if coords == (8, 1):
if stat[6][0] == -1:
stat[6] = stat[4], data[0]
return [0, "Cher client bonjour ! Que puis-je faire pour vous ?\n1. Manger [5 PO]\n2. Boire [2 PO]\n3. Dormir [10 PO]", 3]
elif data[0] == stat[6][1] + 1:
stat[6] = (-1, -1)
if stat[1] < 5: return [-1, "Tsst, quand on ne peut pas payer, on ne rentre pas."]
return [-1, "Et un plat chaud, un !", 0, (0, 5), (1, -5)]
elif data[0] == stat[6][1] + 2:
stat[6] = (-1, -1)
if stat[1] < 2: return [0, "La maison ne fait pas credit."]
return [-2, "Et voila !", 0, (0, 2), (1, -2)]
elif data[0] == stat[6][1] + 3:
stat[6] = (-1, -1)
if stat[1] < 10: return [-3, "Allez donc voir ailleurs."]
stat[4] = 360
return [-3, "Votre chambre est a l'etage.\n[LA NUIT PASSE]", 0, (0, 10), (1, -10)]
return [0, "Je grois qu'j'ais trop buurrps."]
h_22 = (r"""
|=======================|==============|
|=======================|==============|
| | |
| _ _ | __ * |
| (_) (_) | |__| |
| |=| |=| | |__| |
| |_| |_| | |__| |
| | |
| * | |
| |=] [|] [==========|
| _ _ | |
| (_) (_) | |
| |=| |=| | |=======[]=======|
| |_| |_| | | |
| | | |
| | | |
| | | |
| | | |
|/\=/\=/\=/\=/\=/\=| |=/\=/\=/\=/\=/\==|
|\/=\/=\/=\/=\/=\/=]^[=\/=\/=\/=\/=\/==|""",
(20, 19, 1, 52, 35)) # * : (36, 3) * : (2, 8)
def h_22_npc(data, stat):
pass

32
tiled_map/maison.py Normal file
View File

@ -0,0 +1,32 @@
maison = (r"""
|======================| |======================|
|======================| |======================|
| | | |
| | | |
| |============| |
| |============| |
| ####### * ####### |
| ######### ######### |
| ######### ######### |
| ######### ######### |
| ####### __ __ ####### |
| (==) (==) |
| |TT| |TT| |
| |__| |__| |
| ~~~ ~~~ |
| ~~(~)~~ ~~(~)~~ |
| /~~~T~~~\ /~~~T~~~\ |
| \=======/ __ __ \=======/ |
| (==) (==) |
| |TT| |TT| |
| |__| |__| |
| ####### ####### |
| ######### ######### |
| ######### ######### |
| ____######## ____ ____ ########____ |
| |II|####### |II| |II| #######|II| |
|==|II|================|II| |II|================|II|==|
|==|II|================|II| |II|================|II|==|
|II| |II| |II| |II|
|II| |II|/|^=|\|II| |II| """,
(34, 29, , 0, 0)) # * : (26, 6)

38
tiled_map/maison.tmx Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="65" height="30" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<tileset firstgid="1" source="Asci_tileset.tsx"/>
<layer id="1" name="Calque de Tuiles 1" width="65" height="30">
<data encoding="csv">
0,0,0,0,0,93,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,93,0,0,0,0,0,0,0,0,0,0,0,0,93,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,93,
0,0,0,0,0,93,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,93,0,0,0,0,0,0,0,0,0,0,0,0,93,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,93,
0,0,0,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,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,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,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,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,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,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,93,30,30,30,30,30,30,30,30,30,30,30,30,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,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,93,30,30,30,30,30,30,30,30,30,30,30,30,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,0,4,4,4,4,4,4,4,0,0,0,0,0,0,0,11,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,0,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,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,0,0,4,4,4,4,4,4,4,4,4,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,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,0,0,4,4,4,4,4,4,4,4,4,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,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,0,0,4,4,4,4,4,4,4,4,4,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,0,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,0,0,0,0,0,0,93,
0,0,0,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,9,30,30,10,0,0,0,0,0,0,9,30,30,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,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,93,53,53,93,0,0,0,0,0,0,93,53,53,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,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,93,64,64,93,0,0,0,0,0,0,93,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,0,0,93,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,0,0,0,0,0,0,0,0,0,0,0,95,95,95,0,0,0,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,0,95,95,9,95,10,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,95,95,9,95,10,95,95,0,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,16,95,95,95,53,95,95,95,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,16,95,95,95,53,95,95,95,61,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,61,30,30,30,30,30,30,30,16,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,61,30,30,30,30,30,30,30,16,0,0,0,0,0,93,
0,0,0,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,9,30,30,10,0,0,0,0,0,0,9,30,30,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,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,93,53,53,93,0,0,0,0,0,0,93,53,53,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,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,93,64,64,93,0,0,0,0,0,0,93,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,0,4,4,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,0,0,0,0,4,4,4,4,4,4,4,0,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,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,0,0,4,4,4,4,4,4,4,4,4,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,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,0,0,4,4,4,4,4,4,4,4,4,0,0,0,0,0,93,
0,0,0,0,0,93,0,0,64,64,64,64,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,64,64,64,64,0,0,0,0,0,0,64,64,64,64,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,64,64,64,64,0,0,93,
0,0,0,0,0,93,0,0,93,42,42,93,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,93,42,42,93,0,0,0,0,0,0,93,42,42,93,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,93,42,42,93,0,0,93,
0,0,0,0,0,93,30,30,93,42,42,93,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,93,42,42,93,0,0,0,0,0,0,93,42,42,93,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,93,42,42,93,30,30,93,
0,0,0,0,0,93,30,30,93,42,42,93,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,93,42,42,93,0,0,0,0,0,0,93,42,42,93,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,93,42,42,93,30,30,93,
0,0,0,0,0,0,0,0,93,42,42,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,42,42,93,0,0,0,0,0,0,93,42,42,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,42,42,93,0,0,0,
0,0,0,0,0,0,0,0,93,42,42,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,42,42,93,16,93,63,30,93,61,93,42,42,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,42,42,93,0,0,0
</data>
</layer>
</map>