From c7ecfa141befae90e776b517f1cfc72c60a91891 Mon Sep 17 00:00:00 2001 From: Aron Date: Sun, 12 Oct 2025 11:08:29 +0200 Subject: [PATCH] add scaling tips --- README_TIPS.md | 59 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/README_TIPS.md b/README_TIPS.md index 76a626b..f17b463 100644 --- a/README_TIPS.md +++ b/README_TIPS.md @@ -63,30 +63,6 @@ elif lose_condition: - Die Bedingungen kannst du selbst festlegen, z.B. alle Gegner besiegt = Gewinn, Spieler tot = Verlust. - Nach dem Bildschirm kannst du das Spiel beenden oder neu starten. -## Gameplay-Tipp: Begrenzte Wasserflaschen & Auffüllen an Trinkbrunnen - -- Implementiere eine Variable für die Anzahl der Wasserflaschen (Munition), z.B. `player.ammo`. -- Verringere `player.ammo` bei jedem Schuss (`SPACE`). -- Erlaube das Auffüllen der Munition, wenn der Spieler einen Trinkbrunnen-Pixel berührt (z.B. durch Kollisionsabfrage mit Trinkbrunnen-Positionen). -- Zeige die aktuelle Munition als Zahl oder Symbol im HUD an. - -**Beispiel (Pseudo-Code):** - -```python -# Beim Schießen: -if player.ammo > 0: - bottles.append(TapWater(player.x, player.y, player.dir)) - player.ammo -= 1 - -# Beim Berühren eines Trinkbrunnens: -for brunnen in trinkbrunnen_list: - if player.rect.colliderect(brunnen.rect): - player.ammo = MAX_AMMO -``` - -- Die Trinkbrunnen-Positionen kannst du aus der GeoJSON oder aus einer Liste von Pixelkoordinaten laden. -- So wird das Sammeln und Nachfüllen von Wasser spielerisch relevant! - ## Trinkbrunnen-Pixelpositionen ins Spiel laden und anzeigen - Die Datei `trinkbrunnen_pixel_positions.npy` enthält alle Trinkbrunnen-Positionen als Pixelkoordinaten. @@ -123,6 +99,41 @@ for px, py in trinkbrunnen_positions: - So werden die Trinkbrunnen sichtbar und interaktiv im Spiel! +## Die Karte größer machen (Abstandsfaktor) + +- Wenn du möchtest, dass die Karte größer wirkt und die Abstände zwischen den Trinkbrunnen (und anderen Objekten) wachsen, kannst du einen "Abstandsfaktor" einführen. +- Damit werden alle Positionen und die Kartengröße mit einem Faktor multipliziert, sodass die Karte gestreckt wird und die Wege länger werden. + +**So geht's:** + +1. Definiere einen Abstandsfaktor, z.B.: + +```python +DIST_FACTOR = 2.0 # 2.0 = doppelte Entfernung, 1.0 = Standard +``` + +2. Wende den Faktor auf alle Positionen und die Kartengröße an: + +```python +# Karte vergrößern +scaled_map = pygame.transform.smoothscale(map_surface, (int(MAP_W * DIST_FACTOR), int(MAP_H * DIST_FACTOR))) +WIN.blit(scaled_map, (0, 0)) + +# Positionen der Trinkbrunnen anpassen +for px, py in trinkbrunnen_positions: + pygame.draw.circle(WIN, (0, 180, 255), (int(px * DIST_FACTOR), int(py * DIST_FACTOR)), 10) + +# Spieler und Gegner-Positionen ebenfalls multiplizieren +player.x *= DIST_FACTOR +player.y *= DIST_FACTOR +for enemy in enemies: + enemy.x *= DIST_FACTOR + enemy.y *= DIST_FACTOR +``` + +- Wichtig: Wende den Faktor direkt nach dem Laden der Positionen an, damit alle Objekte synchron gestreckt werden. +- So wird die Karte "größer" und die Wege zwischen den Trinkbrunnen länger! + ## .exe erstellen (Windows) **Kurzanleitung auf Deutsch:**