40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
# game.py (nur als Notfall-Mock; bitte euer Original verwenden!)
|
|
import pygame, time
|
|
|
|
class Game:
|
|
def __init__(self, width=800, height=600, fps=60, title="Game"):
|
|
pygame.init()
|
|
self.width, self.height, self.fps = width, height, fps
|
|
self.screen = pygame.display.set_mode((width, height))
|
|
pygame.display.set_caption(title)
|
|
self.clock = pygame.time.Clock()
|
|
self.running = True
|
|
|
|
def update(self, dt: float) -> None:
|
|
pass
|
|
|
|
def draw(self, screen: pygame.Surface) -> None:
|
|
pass
|
|
|
|
def run(self):
|
|
prev = time.perf_counter()
|
|
while self.running:
|
|
# Events
|
|
for event in pygame.event.get():
|
|
if event.type == pygame.QUIT:
|
|
self.running = False
|
|
|
|
# Delta-Zeit
|
|
now = time.perf_counter()
|
|
dt = now - prev
|
|
prev = now
|
|
|
|
# Update + Draw
|
|
self.update(dt)
|
|
self.draw(self.screen)
|
|
|
|
pygame.display.flip()
|
|
self.clock.tick(self.fps)
|
|
|
|
pygame.quit()
|