Compare commits

..

No commits in common. '14414ab17a46cce370feda5c51cdc5ef71212889' and '285d57f2ebf246f183913c0d920e6694ae51f4c8' have entirely different histories.

@ -8,10 +8,8 @@ class Endscreen:
self.score = score
self.background = pygame.image.load(settings.BACKGROUND_IMG_COMP).convert_alpha()
icon_controller_retry = pygame.image.load(settings.icons.controller.viereck).convert_alpha()
self.icon_controller_retry = pygame.transform.scale(icon_controller_retry, (50, 48))
icon_controller_menu = pygame.image.load(settings.icons.controller.dreieck).convert_alpha()
self.icon_controller_menu = pygame.transform.scale(icon_controller_menu, (50, 48))
self.icon_controller_retry = pygame.image.load(settings.icons.controller.viereck).convert_alpha()
self.icon_controller_menu = pygame.image.load(settings.icons.controller.dreieck).convert_alpha()
self.font = pygame.font.Font(settings.fonts.PressStart2P, 60)
self.small_font = pygame.font.Font(settings.fonts.PressStart2P, 24)
@ -41,8 +39,7 @@ class Endscreen:
self.screen.blit(nochmal_text, (self.retry_button.x + 15, self.retry_button.y + 10))
self.screen.blit(menu_text, (self.menu_button.x + 50, self.menu_button.y + 10))
self.screen.blit(self.icon_controller_retry, (self.retry_button.x + 70, self.retry_button.y + 40))
self.screen.blit(self.icon_controller_menu, ((self.menu_button.x + 70), self.menu_button.y + 40))
self.screen.blit(self.icon_controller_retry, (self.retry_button.bottomleft - 30, ))
return self.retry_button, self.menu_button

@ -22,9 +22,6 @@ class Player:
self.game_paused = False
self.broken_bones = 0
self.last_collision_obstacle = None
def update(self, ground_y=80, obstacles=[], items=[], score=0, input_allowed=False):
keys = pygame.key.get_pressed()
joysticks = [pygame.joystick.Joystick(x) for x in range(pygame.joystick.get_count())]
@ -61,28 +58,17 @@ class Player:
# HINDERNISSE-KOLLISION
for obs in obstacles:
if self.rect.colliderect(obs.get_rect()):
if self.velocity_y > 0 and self.rect.bottom - self.velocity_y < obs.get_rect().top:
# Fred landet oben auf der Kiste
# Prüfen: Spieler kommt von oben und fällt drauf
if self.velocity_y > 0 and self.rect.bottom <= obs.get_rect().top + 10:
self.rect.bottom = obs.get_rect().top
self.velocity_y = 0
self.on_ground = True
self.last_collision_obstacle = None
else:
# Seitenkollision - Fred wird blockiert UND Knochenbruch zählen
if abs(self.rect.right - obs.get_rect().left) < abs(settings.player.speed):
if self.last_collision_obstacle != obs:
self.broken_bones += 1
self.last_collision_obstacle = obs
self.rect.right = obs.get_rect().left # WICHTIG: stoppen!
elif abs(self.rect.left - obs.get_rect().right) < abs(settings.player.speed):
if self.last_collision_obstacle != obs:
self.broken_bones += 1
self.last_collision_obstacle = obs
self.rect.left = obs.get_rect().right # WICHTIG: stoppen!
else:
# Keine Kollision mehr → Reset
if self.last_collision_obstacle == obs:
self.last_collision_obstacle = None
# Seitliche Kollision
if self.rect.right > obs.get_rect().left and self.rect.left < obs.get_rect().left:
self.rect.right = obs.get_rect().left
elif self.rect.left < obs.get_rect().right and self.rect.right > obs.get_rect().right:
self.rect.left = obs.get_rect().right
# ITEM-KOLLISION
for item in items[:]:

@ -105,24 +105,19 @@ class World:
# PLAYER
self.screen.blit(self.player.image, (player_screen_x, self.player.rect.y))
# ANZEIGE
font = pygame.font.Font(settings.fonts.PressStart2P, 24)
name_surface = font.render(self.player_name, True, (255, 255, 255))
self.screen.blit(name_surface, (20, 20))
# KNOCHENBRÜCHE
bones_text = font.render(f"Schaden: {self.player.broken_bones}", True, (255, 255, 255))
self.screen.blit(bones_text, (20, 60))
current_ticks = pygame.time.get_ticks()
elapsed_seconds = (current_ticks - self.start_ticks) // 1000
if not self.level_started:
countdown = max(0, settings.world.countdown - elapsed_seconds)
font = pygame.font.Font(settings.fonts.PressStart2P, 90)
font = pygame.font.Font(settings.fonts.PressStart2P, 72)
if countdown > 0:
countdown_surface = font.render(str(countdown), True, settings.MyColors.yellow)
countdown_surface = font.render(str(countdown), True, (255, 255, 255))
else:
countdown_surface = font.render("GO!", True, (0, 255, 0))

Loading…
Cancel
Save

Powered by TurnKey Linux.