diff --git a/game.py b/game.py index aa1a362..5145fff 100644 --- a/game.py +++ b/game.py @@ -38,6 +38,9 @@ class Game: self.speed = 300 + self.player_width = 20 + self.player_height = 20 + #self.circle = pygame.geometry.Circle(self.player_pos[0], self.player_pos[1], 30) def run(self) -> None: @@ -45,7 +48,7 @@ class Game: # Background self.display.fill((0, 0, 0, 0)) - self.player_rect = pygame.Rect(self.player_pos[0]-10, self.player_pos[1]-10, 20, 20) + self.player_rect = pygame.Rect(self.player_pos[0]-10, self.player_pos[1]-10, self.player_width, self.player_height) # Event-Keys @@ -73,16 +76,34 @@ class Game: # Smooth Movement keys = pygame.key.get_pressed() + if keys[pygame.K_w]: + self.player_pos.y -= self.speed * self.dt + if keys[pygame.K_s]: self.player_pos.y += self.speed * self.dt + if keys[pygame.K_a]: self.player_pos.x -= self.speed * self.dt + if keys[pygame.K_d]: - self.player_pos.x += self.speed * self.dt + self.player_pos.x += self.speed * self.dt + if self.player_pos[1] < self.player_height/2: + self.player_pos[1] = self.player_height/2 + + if self.player_pos[1] > SCREEN_HEIGHT/2-self.player_height/2: + self.player_pos[1] = SCREEN_HEIGHT/2-self.player_height/2 + + if self.player_pos[0] < self.player_width/2: + self.player_pos[0] = self.player_width/2 + + if self.player_pos[0] > SCREEN_WIDTH/2-self.player_width/2: + self.player_pos[0] = SCREEN_WIDTH/2-self.player_width/2 + + if self.rect_circle_collision(self.item_rect, self.flashlight_rect): self.color_item = (0, 0, 255) @@ -115,6 +136,18 @@ class Game: return distance <= circle_r + # def ausserhalb_des_bildschirms(self, x, y, width, height): + # if x > width: + # return False + # if x < 0: + # return False + + # if y > height: + # return False + # if y < 0: + # return False + + # return True game = Game()