Erste Version
This commit is contained in:
Executable
+42
@@ -0,0 +1,42 @@
|
||||
from MechFabrik.bauteile import Mech, InnerStructure, Gyroskope, Area, AreaNames, Cockpit, Reaktor
|
||||
from MechFabrik.reader import ComponentReader
|
||||
|
||||
|
||||
class MechFabrik(object):
|
||||
|
||||
def __init__(self, name: str, tonnage: float, movement_rate: int):
|
||||
self.__components = ComponentReader()
|
||||
self.__reactor_value = int(movement_rate * tonnage)
|
||||
gyroscope = Gyroskope(float(round(self.__reactor_value/100)))
|
||||
inner_structure = self.__build_inner_structure(tonnage, movement_rate)
|
||||
self._mech = Mech(name, tonnage, movement_rate, inner_structure)
|
||||
|
||||
def __build_inner_structure(self, tonnage: float, movement_rate: int) -> InnerStructure:
|
||||
reactor_value = int(movement_rate * tonnage)
|
||||
gyroscope = Gyroskope(float(round(reactor_value/100)))
|
||||
inner_structure = InnerStructure(self.__components.inner_structure_from(tonnage), gyroscope)
|
||||
inner_structure.add_area(AreaNames.HEAD, self.__build_head_area())
|
||||
self.__build_middle_torso_area(inner_structure)
|
||||
return inner_structure
|
||||
|
||||
def __build_head_area(self) -> Area:
|
||||
area = Area()
|
||||
cockpit = Cockpit()
|
||||
area.cockpit = cockpit
|
||||
return area
|
||||
|
||||
def __build_middle_torso_area(self, inner_structure: InnerStructure) -> Area:
|
||||
area_middle = Area()
|
||||
area_left = Area()
|
||||
area_right = Area()
|
||||
reactor = Reaktor(self.__reactor_value, self.__components.reactor_tonnage_from(self.__reactor_value))
|
||||
area_middle.reactor = reactor
|
||||
area_middle.children = [area_right, area_left]
|
||||
inner_structure.add_area(AreaNames.LEFT_TORSO, area_left)
|
||||
inner_structure.add_area(AreaNames.RIGHT_TORSO, area_right)
|
||||
inner_structure.add_area(AreaNames.MIDDLE_TORSO, area_middle)
|
||||
return area_middle
|
||||
|
||||
|
||||
def auslieferung(self) -> Mech:
|
||||
return self._mech
|
||||
Reference in New Issue
Block a user