30 lines
760 B
Python
30 lines
760 B
Python
from main import Segment
|
|
|
|
def parse_level_from_string(string):
|
|
level = []
|
|
|
|
raw_segments = string.split('|')
|
|
|
|
for segment in raw_segments:
|
|
raw_segment = segment.split('/')
|
|
|
|
level.append(
|
|
Segment(
|
|
bool(raw_segment[0]),
|
|
float(raw_segment[1]),
|
|
complex(raw_segment[2]),
|
|
tuple(map(int, raw_segment[3][1:len(raw_segment[3])-1].split(', ')))
|
|
)
|
|
)
|
|
|
|
return level
|
|
|
|
def save_level_to_string(level):
|
|
string_level = ""
|
|
|
|
for segment in level:
|
|
string_level += f'{segment.isFinite}/{segment.pointA}/{segment.pointB}/{segment.color}'
|
|
if segment != level[len(level) - 1]:
|
|
string_level += '|'
|
|
|
|
return string_level |