Verikale Spielerbewegung implementiert

This commit is contained in:
Benjamin 2026-07-24 17:50:34 +02:00
parent 4d0d09b5ae
commit b56bde75ef
2 changed files with 15 additions and 70 deletions

44
game.py
View file

@ -24,17 +24,15 @@ class Game:
self.running: bool = True 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: def run(self) -> None:
while self.running: while self.running:
# Background
self.display.fill((0, 0, 0, 0)) 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(): for event in pygame.event.get():
if event.type == pygame.QUIT: if event.type == pygame.QUIT:
self.running = False self.running = False
@ -43,18 +41,17 @@ class Game:
if event.key == pygame.K_ESCAPE: if event.key == pygame.K_ESCAPE:
self.running = False 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: keys = pygame.key.get_pressed()
self.movement[0] = True if keys[pygame.K_w]:
self.player_pos.y -= 300 * self.dt
if event.key == pygame.K_d: if keys[pygame.K_s]:
self.movement[1] = True self.player_pos.y += 300 * self.dt
if keys[pygame.K_a]:
if event.key == pygame.K_w: self.player_pos.x -= 300 * self.dt
self.movement[2] = True if keys[pygame.K_d]:
self.player_pos.x += 300 * self.dt
if event.key == pygame.K_s:
self.movement[3] = True
self.screen.blit( self.screen.blit(
@ -62,19 +59,8 @@ class Game:
) )
pygame.display.update() 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 = Game()
game.run() game.run()

41
test.py
View file

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