Zuerst wollte ich zuerst die Staaten erzwingen. Geist: < /p>
Code: Select all
class GameState(ABC):
@abstractmethod
def exit(self):
pass
Code: Select all
class GameMeta(type):
_instances = {}
def __call__(cls):
if cls not in cls._instances:
instance = super().__call__()
cls._instances[cls] = instance
return cls._instances[cls]
< /code>
Ich habe < /p>
class StartMenu(GameState):
def exit(self):
pass
< /code>
als Spielstatus. Ich habe auch GameOver
class Game(metaclass=GameMeta):
def __init__(self):
self.current_state: GameState = StartMenu()
self.screen = None
< /code>
Gibt es eine Anzeichen von schlechter Praxis? Ich mische Singleton und Staatsmuster, irgendwelche Fehler? oder Verletzung des Entwurfsmusters oder des Prinzips? Ist das eine schlechte Idee insgesamt?