33 lines
984 B
Python
33 lines
984 B
Python
import pygame
|
|
|
|
class Game:
|
|
def __init__(self, width=800, height=600, fps=60, title="Game"):
|
|
pygame.init()
|
|
self.width = width
|
|
self.height = height
|
|
self.fps = fps
|
|
self.title = title
|
|
self.screen = pygame.display.set_mode((width, height))
|
|
pygame.display.set_caption(title)
|
|
self.clock = pygame.time.Clock()
|
|
self.running = True
|
|
|
|
def run(self):
|
|
"""Startet die Hauptschleife."""
|
|
while self.running:
|
|
dt = self.clock.tick(self.fps) / 1000 # Zeit seit letztem Frame
|
|
for event in pygame.event.get():
|
|
if event.type == pygame.QUIT:
|
|
self.running = False
|
|
self.update(dt)
|
|
self.draw(self.screen)
|
|
pygame.display.flip()
|
|
pygame.quit()
|
|
|
|
# Diese beiden Methoden überschreibst du in Unterklassen:
|
|
def update(self, dt: float):
|
|
pass
|
|
|
|
def draw(self, surface: pygame.Surface):
|
|
pass
|