class SnakeBuilder: SNAKE_VERSIONS = { "TemplateSnake": "1.0.0", "DummSnake": "1.0.0", "LogicSnake": "1.1.0", "MasterSnake": "1.2.0", "BetterMasterSnake": "1.3.0", "BestBattleSnake": "2.5.0", } @classmethod def build(self, selected_snake:str): snake_module = __import__(f"snakes.{selected_snake}", fromlist=[selected_snake]) snake_class = getattr(snake_module, selected_snake) return snake_class() @classmethod def get_version(self, selected_snake:str) -> str | None: return self.SNAKE_VERSIONS.get(selected_snake)