Compare commits
No commits in common. "3f7bbe470ebfd78ddd5e4de77f62737ba86c4f31" and "65c5ce0f5591457d909a692dfb7ed146d96cb7c5" have entirely different histories.
3f7bbe470e
...
65c5ce0f55
1 changed files with 24 additions and 35 deletions
|
|
@ -63,6 +63,30 @@ elif lose_condition:
|
||||||
- Die Bedingungen kannst du selbst festlegen, z.B. alle Gegner besiegt = Gewinn, Spieler tot = Verlust.
|
- 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.
|
- 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
|
## Trinkbrunnen-Pixelpositionen ins Spiel laden und anzeigen
|
||||||
|
|
||||||
- Die Datei `trinkbrunnen_pixel_positions.npy` enthält alle Trinkbrunnen-Positionen als Pixelkoordinaten.
|
- Die Datei `trinkbrunnen_pixel_positions.npy` enthält alle Trinkbrunnen-Positionen als Pixelkoordinaten.
|
||||||
|
|
@ -99,41 +123,6 @@ for px, py in trinkbrunnen_positions:
|
||||||
|
|
||||||
- So werden die Trinkbrunnen sichtbar und interaktiv im Spiel!
|
- 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)
|
## .exe erstellen (Windows)
|
||||||
|
|
||||||
**Kurzanleitung auf Deutsch:**
|
**Kurzanleitung auf Deutsch:**
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue