Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Army Units by s1337
class Army:
def train_swordsman(self, name):
raise NotImplementedError()
def train_lancer(self, name):
raise NotImplementedError()
def train_archer(self, name):
raise NotImplementedError()
class Warrior:
def __init__(self, name, kind, nationality):
self.name, self.kind, self.nationality = name, kind, nationality
def introduce(self):
skill = self.__class__.__name__.lower()
return "{} {}, {} {}".format(self.kind, self.name, self.nationality, skill)
class Swordsman(Warrior):
...
class Lancer(Warrior):
...
class Archer(Warrior):
...
class AsianArmy(Army):
def train_swordsman(self, name):
return Swordsman(name, "Samurai", "Asian")
def train_lancer(self, name):
return Lancer(name, "Ronin", "Asian")
def train_archer(self, name):
return Archer(name, "Shinobi", "Asian")
class EuropeanArmy(Army):
def train_swordsman(self, name):
return Swordsman(name, "Knight", "European")
def train_lancer(self, name):
return Lancer(name, "Raubritter", "European")
def train_archer(self, name):
return Archer(name, "Ranger", "European")
Aug. 6, 2018