From b56bde75efdfa025cd60a0975a1d61e571a623de Mon Sep 17 00:00:00 2001 From: Benjamin Date: Fri, 24 Jul 2026 17:50:34 +0200 Subject: [PATCH] Verikale Spielerbewegung implementiert --- game.py | 44 +++++++++++++++----------------------------- test.py | 41 ----------------------------------------- 2 files changed, 15 insertions(+), 70 deletions(-) diff --git a/game.py b/game.py index 9f9e2b0..390393e 100644 --- a/game.py +++ b/game.py @@ -24,17 +24,15 @@ class Game: self.running: bool = True + self.dt: int = 0 - + self.player_pos = pygame.Vector2(self.display.get_width() / 2, self.display.get_height() / 2) def run(self) -> None: while self.running: + # Background self.display.fill((0, 0, 0, 0)) - - - pygame.draw.rect(self.display, (255, 0, 0), pygame.Rect(150, 110, 20, 20)) - for event in pygame.event.get(): if event.type == pygame.QUIT: self.running = False @@ -43,18 +41,17 @@ class Game: if event.key == pygame.K_ESCAPE: self.running = False + pygame.draw.rect(self.display, (255, 0, 0), pygame.Rect(self.player_pos[0], self.player_pos[1], 20, 20)) - if event.key == pygame.K_a: - self.movement[0] = True - - if event.key == pygame.K_d: - self.movement[1] = True - - if event.key == pygame.K_w: - self.movement[2] = True - - if event.key == pygame.K_s: - self.movement[3] = True + keys = pygame.key.get_pressed() + if keys[pygame.K_w]: + self.player_pos.y -= 300 * self.dt + if keys[pygame.K_s]: + self.player_pos.y += 300 * self.dt + if keys[pygame.K_a]: + self.player_pos.x -= 300 * self.dt + if keys[pygame.K_d]: + self.player_pos.x += 300 * self.dt self.screen.blit( @@ -62,19 +59,8 @@ class Game: ) pygame.display.update() - self.clock.tick(60) + self.dt = self.clock.tick(60) / 3000 -class Player: - def __init__(self, player_x, player_y): - self.player_x = player_x - self.player_y = player_y - - def update(self, movement: tuple[float, float] = (0, 0)): - pass - - def render(self): - pass - game = Game() -game.run() \ No newline at end of file +game.run() diff --git a/test.py b/test.py index d3538de..e69de29 100644 --- a/test.py +++ b/test.py @@ -1,41 +0,0 @@ -import pygame - -SCREEN_WIDTH = 640 -SCREEN_HEIGHT = 480 - - -class Game: - def __init__(self): - pygame.init() - - pygame.display.set_caption("School Game") - - self.clock = pygame.Clock() - self.screen: pygame.Surface = pygame.display.set_mode( - (SCREEN_WIDTH, SCREEN_HEIGHT) - ) - - self.display: pygame.Surface = pygame.Surface( - (self.screen.get_width() // 2, self.screen.get_height() // 2) - ) - - self.running: bool = True - - def run(self) -> None: - while self.running: - self.display.fill((0, 0, 0, 0)) - - for event in pygame.event.get(): - if event.type == pygame.QUIT: - self.running = False - - self.screen.blit( - pygame.transform.scale(self.display, self.screen.get_size()) - ) - - pygame.display.update() - self.clock.tick(60) - - -game = Game() -game.run() \ No newline at end of file