|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- 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 ()
|