class Formation: """ Defines formation """ def __init__(self): self.defence_line_ = Defence() self.midfield_line_ = Midfield() self.attack_line_ = Attack() def get(self): return {"defence": self.defence_line_, "midfield": self.midfield_line_, "attack": self.attack_line_} def get_slot_list(self): return self.defence_line_.slots() + self.midfield_line_.slots() + self.attack_line_.slots() def players_count(self): count = 0 count += self.defence_line_.players_count() count += self.midfield_line_.players_count() count += self.attack_line_.players_count() return count def player_present(self, player): return self.defence_line_.player_present(player) or self.midfield_line_.player_present(player) or self.attack_line_.player_present(player) def __str__(self): stringa = "defence: " + str(self.defence_line_) stringa += "\nmidfield: " + str(self.midfield_line_) stringa += "\nattack: " + str(self.attack_line_) return stringa @staticmethod def create_random_formation(schema, team): form = Formation() idx = 0 line = schema[0] for i in range(0,line): slt = form.defence_line_.slots()[i] form.defence_line_.set_player(team[idx], slt, "neutral") idx += 1 line = schema[1] for i in range(0,line): slt = form.midfield_line_.slots()[i] form.midfield_line_.set_player(team[idx], slt, "neutral") idx += 1 line = schema[2] for i in range(0,line): slt = form.attack_line_.slots()[i] form.attack_line_.set_player(team[idx], slt, "neutral") idx += 1 return form
def __init__(self): self.defence_line_ = Defence() self.midfield_line_ = Midfield() self.attack_line_ = Attack()