random spawn of tower field

This commit is contained in:
Lukas Kammerhofer
2026-05-08 16:00:50 +02:00
parent a9df61e9bc
commit b9a1bff5e4
+23
View File
@@ -7,3 +7,26 @@ tower_size = 30
prjectile_size = 8
fire_interval = 1000 # ms zwischen Schüssen
respawn_delay = 10000 # ms bis neues Feld spawnt
class Tower:
def __init__(self) -> None:
# Feld und Tower -> None wenn nicht aktiv
self.field_rect: pygame.Rect = None
self.tower_rect: pygame.Rect = None
self.projectiles: list[dict] = None
self.tower_start: int = None
self.despawn_timer: int = None
self.last_shot: int = 0
def field_spawn(self, room_rect: pygame.Rect, blocked_rects: list[pygame.Rect]):
# soll Tower Feld an zufälliger freier Position im Raum spawnen
for i in range(50):
x = random.randint(room_rect.left + tower_size, room_rect.right - tower_size * 2)
y = random.randint(room_rect.top + tower_size, room_rect.bottom - tower_size * 2)
rect = pygame.Rect(x, y, tower_size, tower_size)
# freie Position finden - nicht auf dem Tisch oder blockierten Rects
if not any(rect.colliderect(b) for b in blocked_rects):
self.field_rect = rect
return