From 6b3eda2ad197d2bd9d434f820f682f13e71c8fbb Mon Sep 17 00:00:00 2001 From: yuzu-eva Date: Fri, 20 Sep 2024 17:21:09 +0200 Subject: render shapes and add rotation --- player.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 player.py (limited to 'player.py') diff --git a/player.py b/player.py new file mode 100644 index 0000000..d629c09 --- /dev/null +++ b/player.py @@ -0,0 +1,31 @@ +import pygame +from constants import * +from circleshape import * + +class Player(CircleShape): + def __init__(self, x, y): + super().__init__(x, y, PLAYER_RADIUS) + self.rotation = 0 + + # in the player class + def triangle(self): + forward = pygame.Vector2(0, 1).rotate(self.rotation) + right = pygame.Vector2(0, 1).rotate(self.rotation + 90) * self.radius / 1.5 + a = self.position + forward * self.radius + b = self.position - forward * self.radius - right + c = self.position - forward * self.radius + right + return [a, b, c] + + def draw(self, screen): + pygame.draw.polygon(screen, "white", self.triangle(), 2) + + def rotate(self, dt): + self.rotation += PLAYER_TURN_SPEED * dt + + def update(self, dt): + keys = pygame.key.get_pressed() + if keys[pygame.K_LEFT]: + self.rotate(-dt) + if keys[pygame.K_RIGHT]: + self.rotate(dt) + -- cgit v1.2.3