Füge Arme und Beine hinzu
This commit is contained in:
+30
-14
@@ -7,36 +7,52 @@ class MechFabrik(object):
|
|||||||
def __init__(self, name: str, tonnage: float, movement_rate: int):
|
def __init__(self, name: str, tonnage: float, movement_rate: int):
|
||||||
self.__components = ComponentReader()
|
self.__components = ComponentReader()
|
||||||
self.__reactor_value = int(movement_rate * tonnage)
|
self.__reactor_value = int(movement_rate * tonnage)
|
||||||
gyroscope = Gyroskope(float(round(self.__reactor_value/100)))
|
self.__build_inner_structure(tonnage, movement_rate)
|
||||||
inner_structure = self.__build_inner_structure(tonnage, movement_rate)
|
self._mech = Mech(name, tonnage, movement_rate, self._inner_structure)
|
||||||
self._mech = Mech(name, tonnage, movement_rate, inner_structure)
|
|
||||||
|
|
||||||
def __build_inner_structure(self, tonnage: float, movement_rate: int) -> InnerStructure:
|
def __build_inner_structure(self, tonnage: float, movement_rate: int) -> None:
|
||||||
reactor_value = int(movement_rate * tonnage)
|
reactor_value = int(movement_rate * tonnage)
|
||||||
gyroscope = Gyroskope(float(round(reactor_value/100)))
|
gyroscope = Gyroskope(float(round(reactor_value/100)))
|
||||||
inner_structure = InnerStructure(self.__components.inner_structure_from(tonnage), gyroscope)
|
self._inner_structure = InnerStructure(self.__components.inner_structure_from(tonnage), gyroscope)
|
||||||
inner_structure.add_area(AreaNames.HEAD, self.__build_head_area())
|
self.__build_head_area()
|
||||||
self.__build_middle_torso_area(inner_structure)
|
self.__build_middle_torso_area()
|
||||||
return inner_structure
|
|
||||||
|
|
||||||
def __build_head_area(self) -> Area:
|
def __build_head_area(self) -> None:
|
||||||
area = Area()
|
area = Area()
|
||||||
cockpit = Cockpit()
|
cockpit = Cockpit()
|
||||||
area.cockpit = cockpit
|
area.cockpit = cockpit
|
||||||
return area
|
self._inner_structure.add_area(AreaNames.HEAD, area)
|
||||||
|
|
||||||
def __build_middle_torso_area(self, inner_structure: InnerStructure) -> Area:
|
def __build_middle_torso_area(self) -> Area:
|
||||||
area_middle = Area()
|
area_middle = Area()
|
||||||
area_left = Area()
|
area_left = Area()
|
||||||
area_right = Area()
|
area_right = Area()
|
||||||
|
area_left.parent = area_middle
|
||||||
|
area_right.parent = area_middle
|
||||||
reactor = Reaktor(self.__reactor_value, self.__components.reactor_tonnage_from(self.__reactor_value))
|
reactor = Reaktor(self.__reactor_value, self.__components.reactor_tonnage_from(self.__reactor_value))
|
||||||
area_middle.reactor = reactor
|
area_middle.reactor = reactor
|
||||||
area_middle.children = [area_right, area_left]
|
area_middle.children = [area_right, area_left]
|
||||||
inner_structure.add_area(AreaNames.LEFT_TORSO, area_left)
|
self.__build_arm(area_right, AreaNames.RIGHT_ARM)
|
||||||
inner_structure.add_area(AreaNames.RIGHT_TORSO, area_right)
|
self.__build_leg(area_right, AreaNames.RIGHT_LEG)
|
||||||
inner_structure.add_area(AreaNames.MIDDLE_TORSO, area_middle)
|
self.__build_arm(area_left, AreaNames.LEFT_ARM)
|
||||||
|
self.__build_leg(area_left, AreaNames.LEFT_LEG)
|
||||||
|
self._inner_structure.add_area(AreaNames.LEFT_TORSO, area_left)
|
||||||
|
self._inner_structure.add_area(AreaNames.RIGHT_TORSO, area_right)
|
||||||
|
self._inner_structure.add_area(AreaNames.MIDDLE_TORSO, area_middle)
|
||||||
return area_middle
|
return area_middle
|
||||||
|
|
||||||
|
def __build_arm(self, parent: Area, index: AreaNames):
|
||||||
|
arm = Area()
|
||||||
|
arm.parent = parent
|
||||||
|
parent.children.append(arm)
|
||||||
|
self._inner_structure.add_area(index, arm)
|
||||||
|
|
||||||
|
def __build_leg(self, parent: Area, index: AreaNames):
|
||||||
|
leg = Area()
|
||||||
|
leg.parent = parent
|
||||||
|
parent.children.append(leg)
|
||||||
|
self._inner_structure.add_area(index, leg)
|
||||||
|
|
||||||
|
|
||||||
def auslieferung(self) -> Mech:
|
def auslieferung(self) -> Mech:
|
||||||
return self._mech
|
return self._mech
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ class AreaNames(enum.Enum):
|
|||||||
MIDDLE_TORSO = 'Torso Mitte'
|
MIDDLE_TORSO = 'Torso Mitte'
|
||||||
RIGHT_TORSO = 'Rechter Torso'
|
RIGHT_TORSO = 'Rechter Torso'
|
||||||
LEFT_TORSO = 'Linker Torso'
|
LEFT_TORSO = 'Linker Torso'
|
||||||
|
RIGHT_LEG = 'Rechtes Bein'
|
||||||
|
RIGHT_ARM = 'Rechter Arm'
|
||||||
|
LEFT_LEG = 'Linkes Bein'
|
||||||
|
LEFT_ARM = 'Linker Arm'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -37,7 +41,9 @@ class Area:
|
|||||||
_content: dict[str, Any]
|
_content: dict[str, Any]
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.__dict__['_content'] = {}
|
self.__dict__['_content'] = {
|
||||||
|
'children': []
|
||||||
|
}
|
||||||
|
|
||||||
def __setattr__(self, key, value):
|
def __setattr__(self, key, value):
|
||||||
self.__dict__['_content'][key] = value
|
self.__dict__['_content'][key] = value
|
||||||
|
|||||||
Reference in New Issue
Block a user