wip: menu
This commit is contained in:
parent
c6d7e148df
commit
56ee3e943c
@ -1,11 +1,20 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
class MapNotSquareException(Exception):
|
class MapNotSquareException(Exception):
|
||||||
pass
|
"""
|
||||||
|
Matrix used is not a Square and cannot be interpretted as a piece
|
||||||
|
"""
|
||||||
|
|
||||||
class PieceNotSquareException(Exception):
|
class PieceNotSquareException(Exception):
|
||||||
pass
|
"""
|
||||||
|
Matrix used is not a Square and cannot be interpretted as a piece
|
||||||
|
"""
|
||||||
|
|
||||||
class save_Parser:
|
class SaveParser:
|
||||||
def __init__(self, filename:str ):
|
"""
|
||||||
|
Parser for the game file
|
||||||
|
"""
|
||||||
|
def __init__(self):
|
||||||
self.filename = filename
|
self.filename = filename
|
||||||
self.map_shape = [[0]]
|
self.map_shape = [[0]]
|
||||||
self.pieces = list()
|
self.pieces = list()
|
||||||
@ -41,7 +50,7 @@ class save_Parser:
|
|||||||
load the file and prepare to parse informations
|
load the file and prepare to parse informations
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def save(self):
|
def save(self, filename):
|
||||||
"""
|
"""
|
||||||
save parsed info to the file
|
save parsed info to the file
|
||||||
"""
|
"""
|
||||||
@ -54,12 +63,45 @@ class save_Parser:
|
|||||||
save_data +=len(piece).to_bytes(1, 'big')
|
save_data +=len(piece).to_bytes(1, 'big')
|
||||||
save_data += self.shape_to_bytes(piece)
|
save_data += self.shape_to_bytes(piece)
|
||||||
save_data += b'SME'
|
save_data += b'SME'
|
||||||
with open(self.filename, mode='bw') as file:
|
with open(filename, mode='bw') as file:
|
||||||
file.write(save_data)
|
file.write(save_data)
|
||||||
|
|
||||||
|
def cls():
|
||||||
|
'clear the screen'
|
||||||
|
for _ in range(os.get_terminal_size()[1]):
|
||||||
|
print()
|
||||||
|
|
||||||
|
def menu():
|
||||||
|
"""draw a simple menu to test the SaveParser class"""
|
||||||
|
|
||||||
|
P = SaveParser()
|
||||||
|
|
||||||
|
print("1) define terrain")
|
||||||
|
print("2) add a piece")
|
||||||
|
print("3) show data")
|
||||||
|
print("4) save data")
|
||||||
|
print("5) load data")
|
||||||
|
item = input("Select an option :")
|
||||||
|
cls()
|
||||||
|
match item:
|
||||||
|
case 1:
|
||||||
|
pass
|
||||||
|
case 2:
|
||||||
|
pass
|
||||||
|
case 3:
|
||||||
|
pass
|
||||||
|
case 4:
|
||||||
|
filename = input('enter the file name (default: default.smap):')
|
||||||
|
filename = filename if filename else "default.smap"
|
||||||
|
P.save(filename)
|
||||||
|
case 5:
|
||||||
|
filename = input('enter the file name (default: default.smap):')
|
||||||
|
filename = filename if filename else "default.smap"
|
||||||
|
P.load(filename)
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
p = save_Parser('test.map')
|
cls()
|
||||||
p.define_map([[1,0,1],[1,1,1], [1,0,0]])
|
# p = SaveParser('test.smap')
|
||||||
p.add_piece([[0, 1],[0, 1]])
|
# p.define_map([[1,0,1],[1,1,1], [1,0,0]])
|
||||||
p.save()
|
# p.add_piece([[0, 1],[0, 1]])
|
||||||
|
# p.save()
|
||||||
# print(p.shape_to_bytes([[1,0,1],[1,1,1], [1,0,0]]))
|
# print(p.shape_to_bytes([[1,0,1],[1,1,1], [1,0,0]]))
|
||||||
|
@ -1 +0,0 @@
|
|||||||
SMS|SME
|
|
Loading…
Reference in New Issue
Block a user