rooms in px - desk in the room center

This commit is contained in:
Lukas Kammerhofer
2026-05-08 14:45:59 +02:00
parent 09d72d0206
commit 16ceb11df9
+20
View File
@@ -1,4 +1,6 @@
import pygame import pygame
from src.desk import Desk
from src.settings import DESK_WIDTH, DESK_HEIGHT
# Fenstergröße und Tile Größe (Felder) # Fenstergröße und Tile Größe (Felder)
tile_size = 30 tile_size = 30
@@ -54,6 +56,24 @@ class Map:
(49, 13, "Room 105") (49, 13, "Room 105")
] ]
# die Räume als Pixel-Rechtecke, Spalte und Zeile aus der Map * tile_size
# die Reihenfolge ist: x - y - breite - höhe | in Pixel
self.rooms: dict[str, pygame.Rect] = {
"Room 102": pygame.Rect(2 * tile_size, 2 * tile_size, 17 * tile_size, 10 * tile_size),
"Room 103": pygame.Rect(21 * tile_size, 2 * tile_size, 17 * tile_size, 10 * tile_size),
"Room 105": pygame.Rect(40 * tile_size, 2 * tile_size, 17 * tile_size, 10 * tile_size),
}
# soll automatisch einen Tisch ind er MItte des Raumes erstellen
self.desks: dict[str, list[Desk]] = {}
for room_name, room_rect in self.rooms.items():
# berechnet die Mitte des Raumes, zieht die Tischgröße ab, damit er wirklich zentriert ist
center_x = room_rect.center_x - DESK_WIDTH // 2
center_y = room_rect.center_y - DESK_HEIGHT // 2
# erstell einen Tisch pro Raum und speichert ihn
self.desks[room_name] = [Desk(center_x, center_y)]
def get_tile(self, column: int, row: int): def get_tile(self, column: int, row: int):