Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Element:
- def __str__(self):
- return self.__class__.__name__
- def __add__(self, other):
- key = tuple(sorted((str(self), str(other))))
- if key in transformation_table:
- return type(transformation_table[key], (Element, ), {})
- return None
- class Water(Element):
- pass
- class Air(Element):
- pass
- class Fire(Element):
- pass
- # key-tuple's strings should be sorted in alphabetical order
- transformation_table = {
- ("Air", "Water"): "Storm",
- ("Fire", "Water"): "Vapor",
- ("Dirt", "Water"): "Mud",
- ("Air", "Fire"): "Lightning",
- ("Air", "Dirt"): "Dust",
- ("Dirt", "Fire"): "Lava",
- }
- print(Water() + Air())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement