From 198c18173ac368ed30d6b20b98d489cd7e3768c7 Mon Sep 17 00:00:00 2001 From: Xeon0X Date: Sun, 26 May 2024 19:44:21 +0200 Subject: [PATCH] Better json structure --- main.py | 8 ++++---- networks/lines/Line.py | 9 +++++---- networks/lines/lines.json | 15 ++++++++------- networks/roads/Road.py | 4 ++-- networks/roads/roads.json | 10 ++++++++++ 5 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 networks/roads/roads.json diff --git a/main.py b/main.py index a7aa278..8955bf5 100644 --- a/main.py +++ b/main.py @@ -94,10 +94,10 @@ block_list = ["blue_concrete", "red_concrete", "green_concrete", coordinates = [(0, 0, 0), (0, 0, 10), (0, 0, 20)] -# with open('networks/lines/lines.json') as f: -# lines_type = json.load(f) -# l = Line.Line(coordinates, lines_type.get('solid_white')) -# print(l.get_surface()) +with open('networks/lines/lines.json') as f: + lines_type = json.load(f) + l = Line.Line(coordinates, lines_type.get('solid_white')) + print(l.get_surface()) # with open('networks/lanes/lanes.json') as f: # lanes_type = json.load(f) diff --git a/networks/lines/Line.py b/networks/lines/Line.py index 0222eef..0393d63 100644 --- a/networks/lines/Line.py +++ b/networks/lines/Line.py @@ -18,10 +18,11 @@ class Line: pattern_length = 0 pattern_materials = [] - for key, value in self.line_materials.items(): - pattern_length += int(key) - for _ in range(int(key)): - pattern_materials.append(value) + + for pattern in self.line_materials: + pattern_length += pattern[1] + for _ in range(pattern[1]): + pattern_materials.append(pattern[0]) pattern_iteration = 0 for i in range(len(curve_points)-1): diff --git a/networks/lines/lines.json b/networks/lines/lines.json index d331aa5..170d590 100644 --- a/networks/lines/lines.json +++ b/networks/lines/lines.json @@ -1,9 +1,10 @@ { - "solid_white": { - "1": {"white_concrete": 3, "white_concrete_powder": 1} - }, - "broken_white": { - "3": {"white_concrete": 3, "white_concrete_powder": 1}, - "1": {"None": 1} - } + "solid_white": [ + [{"white_concrete": 3, "white_concrete_powder": 1}, 1] + ], + + "broken_white": [ + [{"white_concrete": 3, "white_concrete_powder": 1}, 3], + [{"None": 1}, 1] + ] } \ No newline at end of file diff --git a/networks/roads/Road.py b/networks/roads/Road.py index 5a12aa2..176c9f9 100644 --- a/networks/roads/Road.py +++ b/networks/roads/Road.py @@ -1,7 +1,7 @@ class Road: - def __init__(self, coordinates): + def __init__(self, coordinates, road_configuration): self.coordinates = coordinates # List of tuples (x1, y1, z1) in order - self.road_type = road_type # 'road', 'highway' + self.road_configuration = road_configuration # 'road', 'highway' def place_roads(self): pass diff --git a/networks/roads/roads.json b/networks/roads/roads.json new file mode 100644 index 0000000..83aeae8 --- /dev/null +++ b/networks/roads/roads.json @@ -0,0 +1,10 @@ +{ + "high_way": { + "3": {"classic_lane": 3} + + }, + "broken_white": { + "3": {"white_concrete": 3, "white_concrete_powder": 1}, + "1": {"None": 1} + } +} \ No newline at end of file