refactor: verbessere die Aufteilung der Klassen
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
from MechFabrik.bauteile import InnerStructure, Item, StrikeEvent, ZoneNames
|
||||||
|
|
||||||
|
|
||||||
|
class Mech(object):
|
||||||
|
|
||||||
|
def __init__(self, name: str, tonnage: float, movement_rate: int, inner_structure: InnerStructure):
|
||||||
|
self._movement_rate = movement_rate
|
||||||
|
self._tonnage = tonnage
|
||||||
|
self._name = name
|
||||||
|
self._inner_structure = inner_structure
|
||||||
|
|
||||||
|
@property
|
||||||
|
def name(self) -> str:
|
||||||
|
return self._name
|
||||||
|
|
||||||
|
@property
|
||||||
|
def tonnage(self) -> float:
|
||||||
|
return self._tonnage
|
||||||
|
|
||||||
|
@property
|
||||||
|
def inner_structure(self) -> InnerStructure:
|
||||||
|
return self._inner_structure
|
||||||
|
|
||||||
|
@property
|
||||||
|
def movement_rate(self) -> int:
|
||||||
|
return self._movement_rate
|
||||||
|
|
||||||
|
def set_item(self, key: tuple, item: Item):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def strike(self, zone_name: ZoneNames, hits: int) -> StrikeEvent:
|
||||||
|
zone = self._inner_structure.zones.get(zone_name)
|
||||||
|
if zone is None:
|
||||||
|
raise Exception(f"Zone {zone_name} not found")
|
||||||
|
return StrikeEvent(zone, hits)
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
from MechFabrik.bauteile import Activator, Joint, Mech, InnerStructure, Gyroskope, Area, AreaNames, Cockpit, OuterAmor, \
|
from Hangar.mech import Mech
|
||||||
Reaktor, \
|
from MechFabrik.bauteile import InnerStructure, Gyroskope, Area, AreaNames, OuterAmor, ZoneNames
|
||||||
Sensors, \
|
from MechFabrik.bauteile.items import Activator, Cockpit, Joint, Reaktor, Sensors, Sustainment
|
||||||
Sustainment, ZoneNames
|
|
||||||
from MechFabrik.reader import ComponentReader
|
from MechFabrik.reader import ComponentReader
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import enum
|
import enum
|
||||||
|
|
||||||
|
from MechFabrik.bauteile.items import Item
|
||||||
|
|
||||||
|
|
||||||
class ZoneNames(enum.Enum):
|
class ZoneNames(enum.Enum):
|
||||||
HEAD = 'Kopf'
|
HEAD = 'Kopf'
|
||||||
@@ -32,72 +34,6 @@ class AreaStatus(enum.Flag):
|
|||||||
DESTROYED = 2
|
DESTROYED = 2
|
||||||
|
|
||||||
|
|
||||||
class ItemTypes(enum.Enum):
|
|
||||||
COCKPIT = 1
|
|
||||||
REAKTOR = 2
|
|
||||||
GYROSKOPE = 3
|
|
||||||
ACTIVATOR = 4
|
|
||||||
JOINT = 5
|
|
||||||
SENSORS = 6
|
|
||||||
SUSTAINMENT = 7
|
|
||||||
|
|
||||||
|
|
||||||
class Item(object):
|
|
||||||
def __init__(self, item_type: ItemTypes):
|
|
||||||
self._type = item_type
|
|
||||||
|
|
||||||
@property
|
|
||||||
def type(self):
|
|
||||||
return self._type
|
|
||||||
|
|
||||||
|
|
||||||
class BigItem(Item):
|
|
||||||
|
|
||||||
def __init__(self, item_type: ItemTypes, tonnage: float):
|
|
||||||
super().__init__(item_type)
|
|
||||||
self._tonnage = tonnage
|
|
||||||
|
|
||||||
@property
|
|
||||||
def tonnage(self) -> float:
|
|
||||||
return self._tonnage
|
|
||||||
|
|
||||||
|
|
||||||
class Cockpit(BigItem):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__(ItemTypes.COCKPIT, 3.0)
|
|
||||||
|
|
||||||
|
|
||||||
class Reaktor(BigItem):
|
|
||||||
|
|
||||||
def __init__(self, value: int, tonnage: float):
|
|
||||||
super().__init__(ItemTypes.REAKTOR, tonnage)
|
|
||||||
self._value = value
|
|
||||||
|
|
||||||
@property
|
|
||||||
def value(self):
|
|
||||||
return self._value
|
|
||||||
|
|
||||||
|
|
||||||
class Activator(Item):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__(ItemTypes.ACTIVATOR)
|
|
||||||
|
|
||||||
|
|
||||||
class Joint(Item):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__(ItemTypes.JOINT)
|
|
||||||
|
|
||||||
|
|
||||||
class Sensors(Item):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__(ItemTypes.SENSORS)
|
|
||||||
|
|
||||||
|
|
||||||
class Sustainment(Item):
|
|
||||||
def __init__(self):
|
|
||||||
super().__init__(ItemTypes.SUSTAINMENT)
|
|
||||||
|
|
||||||
|
|
||||||
class Zone:
|
class Zone:
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@@ -201,36 +137,3 @@ class InnerStructure:
|
|||||||
def add_zone(self, index: ZoneNames, zone: Zone):
|
def add_zone(self, index: ZoneNames, zone: Zone):
|
||||||
self._zones[index] = zone
|
self._zones[index] = zone
|
||||||
|
|
||||||
|
|
||||||
class Mech(object):
|
|
||||||
|
|
||||||
def __init__(self, name: str, tonnage: float, movement_rate: int, inner_structure: InnerStructure):
|
|
||||||
self._movement_rate = movement_rate
|
|
||||||
self._tonnage = tonnage
|
|
||||||
self._name = name
|
|
||||||
self._inner_structure = inner_structure
|
|
||||||
|
|
||||||
@property
|
|
||||||
def name(self) -> str:
|
|
||||||
return self._name
|
|
||||||
|
|
||||||
@property
|
|
||||||
def tonnage(self) -> float:
|
|
||||||
return self._tonnage
|
|
||||||
|
|
||||||
@property
|
|
||||||
def inner_structure(self) -> InnerStructure:
|
|
||||||
return self._inner_structure
|
|
||||||
|
|
||||||
@property
|
|
||||||
def movement_rate(self) -> int:
|
|
||||||
return self._movement_rate
|
|
||||||
|
|
||||||
def set_item(self, key: tuple, item: Item):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def strike(self, zone_name: ZoneNames, hits: int) -> StrikeEvent:
|
|
||||||
zone = self._inner_structure.zones.get(zone_name)
|
|
||||||
if zone is None:
|
|
||||||
raise Exception(f"Zone {zone_name} not found")
|
|
||||||
return StrikeEvent(zone, hits)
|
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
import enum
|
||||||
|
|
||||||
|
|
||||||
|
class ItemTypes(enum.Enum):
|
||||||
|
COCKPIT = 1
|
||||||
|
REAKTOR = 2
|
||||||
|
GYROSKOPE = 3
|
||||||
|
ACTIVATOR = 4
|
||||||
|
JOINT = 5
|
||||||
|
SENSORS = 6
|
||||||
|
SUSTAINMENT = 7
|
||||||
|
|
||||||
|
|
||||||
|
class Item(object):
|
||||||
|
def __init__(self, item_type: ItemTypes):
|
||||||
|
self._type = item_type
|
||||||
|
|
||||||
|
@property
|
||||||
|
def type(self):
|
||||||
|
return self._type
|
||||||
|
|
||||||
|
|
||||||
|
class BigItem(Item):
|
||||||
|
|
||||||
|
def __init__(self, item_type: ItemTypes, tonnage: float):
|
||||||
|
super().__init__(item_type)
|
||||||
|
self._tonnage = tonnage
|
||||||
|
|
||||||
|
@property
|
||||||
|
def tonnage(self) -> float:
|
||||||
|
return self._tonnage
|
||||||
|
|
||||||
|
|
||||||
|
class Cockpit(BigItem):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(ItemTypes.COCKPIT, 3.0)
|
||||||
|
|
||||||
|
|
||||||
|
class Reaktor(BigItem):
|
||||||
|
|
||||||
|
def __init__(self, value: int, tonnage: float):
|
||||||
|
super().__init__(ItemTypes.REAKTOR, tonnage)
|
||||||
|
self._value = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def value(self):
|
||||||
|
return self._value
|
||||||
|
|
||||||
|
|
||||||
|
class Activator(Item):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(ItemTypes.ACTIVATOR)
|
||||||
|
|
||||||
|
|
||||||
|
class Joint(Item):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(ItemTypes.JOINT)
|
||||||
|
|
||||||
|
|
||||||
|
class Sensors(Item):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(ItemTypes.SENSORS)
|
||||||
|
|
||||||
|
|
||||||
|
class Sustainment(Item):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(ItemTypes.SUSTAINMENT)
|
||||||
@@ -1,80 +1,80 @@
|
|||||||
"RW","Tonnage","TonnageXL","Hersteller"
|
"RW","Tonnage","TonnageXL","Hersteller"
|
||||||
10,0.50,0.50,"unbekant"
|
10,0.50,0.50,"unbekannt"
|
||||||
15,0.50,0.50,"unbekant"
|
15,0.50,0.50,"unbekannt"
|
||||||
20,0.50,0.50,"unbekant"
|
20,0.50,0.50,"unbekannt"
|
||||||
25,0.50,0.50,"unbekant"
|
25,0.50,0.50,"unbekannt"
|
||||||
30,1.00,0.50,"unbekant"
|
30,1.00,0.50,"unbekannt"
|
||||||
35,1.00,0.50,"unbekant"
|
35,1.00,0.50,"unbekannt"
|
||||||
40,1.00,0.50,"unbekant"
|
40,1.00,0.50,"unbekannt"
|
||||||
45,1.00,0.50,"unbekant"
|
45,1.00,0.50,"unbekannt"
|
||||||
50,1.50,1.00,"unbekant"
|
50,1.50,1.00,"unbekannt"
|
||||||
55,1.50,1.00,"unbekant"
|
55,1.50,1.00,"unbekannt"
|
||||||
60,1.50,1.00,"unbekant"
|
60,1.50,1.00,"unbekannt"
|
||||||
65,2.00,1.00,"unbekant"
|
65,2.00,1.00,"unbekannt"
|
||||||
70,2.00,1.00,"unbekant"
|
70,2.00,1.00,"unbekannt"
|
||||||
75,2.00,1.00,"unbekant"
|
75,2.00,1.00,"unbekannt"
|
||||||
80,2.50,1.50,"unbekant"
|
80,2.50,1.50,"unbekannt"
|
||||||
85,2.50,1.50,"unbekant"
|
85,2.50,1.50,"unbekannt"
|
||||||
90,3.00,1.50,"unbekant"
|
90,3.00,1.50,"unbekannt"
|
||||||
95,3.00,1.50,"unbekant"
|
95,3.00,1.50,"unbekannt"
|
||||||
100,3.00,1.50,"unbekant"
|
100,3.00,1.50,"unbekannt"
|
||||||
105,3.50,2.00,"unbekant"
|
105,3.50,2.00,"unbekannt"
|
||||||
110,3.50,2.00,"unbekant"
|
110,3.50,2.00,"unbekannt"
|
||||||
115,4.00,2.00,"unbekant"
|
115,4.00,2.00,"unbekannt"
|
||||||
120,4.00,2.00,"unbekant"
|
120,4.00,2.00,"unbekannt"
|
||||||
125,4.00,2.00,"unbekant"
|
125,4.00,2.00,"unbekannt"
|
||||||
130,4.50,2.50,"unbekant"
|
130,4.50,2.50,"unbekannt"
|
||||||
135,4.50,2.50,"unbekant"
|
135,4.50,2.50,"unbekannt"
|
||||||
140,5.00,2.50,"unbekant"
|
140,5.00,2.50,"unbekannt"
|
||||||
145,5.00,2.50,"unbekant"
|
145,5.00,2.50,"unbekannt"
|
||||||
150,5.50,3.00,"unbekant"
|
150,5.50,3.00,"unbekannt"
|
||||||
155,5.50,3.00,"unbekant"
|
155,5.50,3.00,"unbekannt"
|
||||||
160,6.00,3.00,"unbekant"
|
160,6.00,3.00,"unbekannt"
|
||||||
165,6.00,3.00,"unbekant"
|
165,6.00,3.00,"unbekannt"
|
||||||
170,6.00,3.00,"unbekant"
|
170,6.00,3.00,"unbekannt"
|
||||||
175,7.00,3.50,"unbekant"
|
175,7.00,3.50,"unbekannt"
|
||||||
180,7.00,3.50,"unbekant"
|
180,7.00,3.50,"unbekannt"
|
||||||
185,7.50,4.00,"unbekant"
|
185,7.50,4.00,"unbekannt"
|
||||||
190,7.50,4.00,"unbekant"
|
190,7.50,4.00,"unbekannt"
|
||||||
195,8.00,4.00,"unbekant"
|
195,8.00,4.00,"unbekannt"
|
||||||
200,8.50,4.50,"unbekant"
|
200,8.50,4.50,"unbekannt"
|
||||||
205,8.50,4.50,"unbekant"
|
205,8.50,4.50,"unbekannt"
|
||||||
210,9.00,4.50,"unbekant"
|
210,9.00,4.50,"unbekannt"
|
||||||
215,9.50,5.00,"unbekant"
|
215,9.50,5.00,"unbekannt"
|
||||||
220,10.00,5.00,"unbekant"
|
220,10.00,5.00,"unbekannt"
|
||||||
225,10.00,5.00,"unbekant"
|
225,10.00,5.00,"unbekannt"
|
||||||
230,10.50,5.50,"unbekant"
|
230,10.50,5.50,"unbekannt"
|
||||||
235,11.00,5.50,"unbekant"
|
235,11.00,5.50,"unbekannt"
|
||||||
240,11.50,6.00,"unbekant"
|
240,11.50,6.00,"unbekannt"
|
||||||
245,12.00,6.00,"unbekant"
|
245,12.00,6.00,"unbekannt"
|
||||||
250,12.50,6.50,"unbekant"
|
250,12.50,6.50,"unbekannt"
|
||||||
255,13.00,6.50,"unbekant"
|
255,13.00,6.50,"unbekannt"
|
||||||
260,13.50,7.00,"unbekant"
|
260,13.50,7.00,"unbekannt"
|
||||||
265,14.00,7.00,"unbekant"
|
265,14.00,7.00,"unbekannt"
|
||||||
270,14.50,7.50,"unbekant"
|
270,14.50,7.50,"unbekannt"
|
||||||
275,15.50,8.00,"unbekant"
|
275,15.50,8.00,"unbekannt"
|
||||||
280,16.00,8.00,"unbekant"
|
280,16.00,8.00,"unbekannt"
|
||||||
285,16.50,8.50,"unbekant"
|
285,16.50,8.50,"unbekannt"
|
||||||
290,17.50,9.00,"unbekant"
|
290,17.50,9.00,"unbekannt"
|
||||||
295,18.00,9.00,"unbekant"
|
295,18.00,9.00,"unbekannt"
|
||||||
300,19.00,9.50,"unbekant"
|
300,19.00,9.50,"unbekannt"
|
||||||
305,19.50,10.00,"unbekant"
|
305,19.50,10.00,"unbekannt"
|
||||||
310,20.50,10.50,"unbekant"
|
310,20.50,10.50,"unbekannt"
|
||||||
315,21.50,11.00,"unbekant"
|
315,21.50,11.00,"unbekannt"
|
||||||
320,22.50,11.50,"unbekant"
|
320,22.50,11.50,"unbekannt"
|
||||||
325,23.50,12.00,"unbekant"
|
325,23.50,12.00,"unbekannt"
|
||||||
330,24.50,12.50,"VOX"
|
330,24.50,12.50,"VOX"
|
||||||
335,25.50,13.00,"unbekant"
|
335,25.50,13.00,"unbekannt"
|
||||||
340,27.00,13.50,"unbekant"
|
340,27.00,13.50,"unbekannt"
|
||||||
345,28.50,14.50,"unbekant"
|
345,28.50,14.50,"unbekannt"
|
||||||
350,29.50,15.00,"unbekant"
|
350,29.50,15.00,"unbekannt"
|
||||||
355,31.50,16.00,"unbekant"
|
355,31.50,16.00,"unbekannt"
|
||||||
360,33.00,16.50,"unbekant"
|
360,33.00,16.50,"unbekannt"
|
||||||
365,34.50,17.50,"unbekant"
|
365,34.50,17.50,"unbekannt"
|
||||||
370,36.50,18.50,"unbekant"
|
370,36.50,18.50,"unbekannt"
|
||||||
375,38.50,19.50,"unbekant"
|
375,38.50,19.50,"unbekannt"
|
||||||
380,41.00,20.50,"unbekant"
|
380,41.00,20.50,"unbekannt"
|
||||||
385,43.50,22.00,"unbekant"
|
385,43.50,22.00,"unbekannt"
|
||||||
390,46.00,23.00,"unbekant"
|
390,46.00,23.00,"unbekannt"
|
||||||
395,49.00,24.50,"unbekant"
|
395,49.00,24.50,"unbekannt"
|
||||||
400,52.50,26.50,"unbekant"
|
400,52.50,26.50,"unbekannt"
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
"Waffentyp","Wärme","Schaden","Minimal","Nah","Mittel","Weit","Tonage","Zeilen","Schuss/Tonne"
|
"Waffentyp","Wärme","Schaden","Minimal","Nah","Mittel","Weit","Tonnage","Zeilen","Schuss/Tonne"
|
||||||
"L-Laser",1,3,0,1,2,3,0.5,1
|
"L-Laser",1,3,0,1,2,3,0.5,1
|
||||||
"L-I-Laser",2,3,0,1,2,3,1,1
|
"L-I-Laser",2,3,0,1,2,3,1,1
|
||||||
"M-Laser",3,5,0,"1 - 3","4 - 6","7 - 9",1,1
|
"M-Laser",3,5,0,"1 - 3","4 - 6","7 - 9",1,1
|
||||||
|
|||||||
|
@@ -1,9 +1,9 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from Hangar.mech import Mech
|
||||||
from MechFabrik import MechFabrik
|
from MechFabrik import MechFabrik
|
||||||
from MechFabrik.bauteile import InnerStructure, Gyroskope, AreaNames, Area, Cockpit, Item, ItemTypes, OuterAmor, \
|
from MechFabrik.bauteile import Gyroskope, InnerStructure, AreaNames, Area, OuterAmor, Zone, ZoneNames
|
||||||
Reaktor, Mech, \
|
from MechFabrik.bauteile.items import Cockpit, Item, ItemTypes, Reaktor
|
||||||
Zone, ZoneNames
|
|
||||||
from test_mech import AbstractTestMechAmor, INNER_ARMOR, OUTER_ARMOR
|
from test_mech import AbstractTestMechAmor, INNER_ARMOR, OUTER_ARMOR
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user