from __future__ import annotations from abc import ABCMeta, abstractmethod import pygame def main ( ) -> None: pygame.init () game = Game () while True: deerjika = Deerjika (game) class Game: def __init__ ( self, ): self.screen = pygame.display.set_mode ((CWindow.WIDTH, CWindow.HEIGHT)) self.clock = pygame.time.Clock () class GameObject (metaclass = ABCMeta): def __init__ ( self, game: Game, ): self.game = game self.redrawer.append (self.redraw) @abstractmethod def redraw ( self, ) -> None: raise NotImplementedError () class Deerjika (GameObject): def __init__ ( self, game: Game, pattern: DeerjikaPattern = DeerjikaPattern.NORMAL, direction: Direction = Direction.LEFT, ): super ().__init__ (self) self.game = game self.pattern = pattern self.direction = direction class DeerjikaPattern (Enum): NORMAL = auto () RELAXED = auto () class Direction (Enum): LEFT = auto () RIGHT = auto () class CWindow: WIDTH = 1024 HEIGHT = 768 if __name__ == '__main__': main ()