feat: HUD

- add tower constants including cost, projectile stats, and duration
- add item buying timer for shop items
- add _draw_status_bar to handle dynamic HP rendering
- add _format_time for MM:SS display
This commit is contained in:
Berger Lena
2026-05-08 15:16:28 +02:00
committed by Niklas Haiden
parent 872786c8e3
commit 96571641a2
2 changed files with 30 additions and 1 deletions
+23
View File
@@ -0,0 +1,23 @@
import pygame
from src.settings import (
HUD_FONT, HUD_FONT_SIZE, HUD_FONT_BOLD,
COLOR_HUD_TEXT, COLOR_HP_BAR_GREEN, COLOR_HP_BAR_RED, COLOR_HP_BAR_BG,
HUD_BAR_WIDTH, HUD_BAR_HEIGHT,
HUD_X_OFFSET, HUD_BAR_X, HUD_Y_DOOR, HUD_Y_ZOMBIE, HUD_Y_ECTS
)
# draw status bar (background bar and the colored hp bar)
def _draw_status_bar(screen, x, y, current, max_val, color):
# bg bar is always the same
pygame.draw.rect(screen, COLOR_HP_BAR_BG, (x, y, HUD_BAR_WIDTH, HUD_BAR_HEIGHT))
# hp bar
if max_val > 0:
hp_width = (current / max_val) * HUD_BAR_WIDTH
pygame.draw.rect((screen, color), (x, y, hp_width, HUD_BAR_HEIGHT))
# time formatter for MM:SS
def _format_time(total_seconds):
mins = total_seconds // 60
secs = total_seconds % 60
return f"TIME {mins:02}:{secs:02}"