Commit graph

9 commits

Author SHA1 Message Date
46402b64f9 Fix: Delfine tauchen jetzt unter die Wasseroberfläche
start_ys=[8,2,5] ließ Delfine nur zwischen y=1 und y=8 pendeln –
genau an der Wasseroberfläche (Wellen bei y=5-8), nie darunter.

Neuer Bogen [10,4,7]: Amplitude ±7, Zentrum y=10.
Delfine spannen y=3 (über den Wellen) bis y=10 (unter Wasser)
und durchqueren die Oberfläche in beiden Phasen.
2026-03-29 11:02:09 +02:00
79f42a5f1e Fix: add_seaweed death_cb als Lambda statt gebundener Methode 2026-03-29 10:38:45 +02:00
0730afcb1c Fix: Screen-Clear vor jedem Frame, mehr Fische
- canvas.render() startet jetzt mit \033[2J um das gesamte Terminal zu löschen,
  nicht nur die Canvas-Breite (verhindert Trails bei breiten Terminals)
- add_all_fish(): min 8 Fische statt 1, dichtere Formel (//200 statt //350)
2026-03-29 10:37:59 +02:00
1f053822ff Krabbe: ASCII-only, weiter sichtbar; Taucher (Scuba-Diver) neu
- Krabben-Zeichen von '°' (non-ASCII, wide-char-Problem) auf '.' umgestellt
- steps_out 14→22: Krabbe läuft weiter aus dem Schloss heraus
- add_diver(): Scuba-Taucher mit 2-Frame-Animation, Sauerstoffblasen beim Tod
2026-03-29 10:19:34 +02:00
566bbd9d0e README: Installation, Parameter, Tiere, Unterschiede zum Perl-Original 2026-03-29 10:06:33 +02:00
72beb622bf Neue Features: --bloody, --vegan, --no-shark, --no-ship, --speed, --any-key, Seepferdchen, Tintenfisch, Krabbe am Schlosstor
- CLI-Parameter via argparse: --speed (TICK-basiert), --no-shark, --no-ship,
  --bloody (Hai frisst Fische mit Splat-Animation), --vegan (keine Räuber),
  --any-key (beliebige Taste beendet)
- Config-Dataclass: wird durch Aquarium durchgereicht, steuert random_fns
- CrabEntity: Krabbe läuft aus Schlosstor heraus und kehrt zurück
- Portcullis-Animation: Falltor öffnet/schließt sich vor/nach der Krabbe
- Neue Tiere: add_seahorse (Seepferdchen), add_squid (Tintenfisch)
- entity_type für Fish und Shark für Kollisionserkennung
2026-03-29 09:50:11 +02:00
7319d26129 fix whale direction and populate fish on-screen at startup
Whale body/spout-alignment logic was inverted (not going_right → wrong
direction). Initial fish population now starts distributed on-screen
instead of all off-screen edges, so the aquarium is immediately filled.
2026-03-29 09:26:18 +02:00
9f3f754921 asciiquarium-ng: rewrite as faithful 1:1 Python port of Perl original
Same sprites, same colors, same entity timing as the Perl source.
Replaces Curses with direct ANSI truecolor escapes using the same
RGB values as our Homebrew fix (xterm-256 slots 16-231).
2026-03-28 20:43:18 +01:00
cbfa1745b7 asciiquarium-ng: initial Python implementation with true RGB colors
Single-file animation engine: Canvas with per-cell true-color, ocean
gradient background, waves, castle, seaweed, fish, shark, jellyfish,
ship, bubbles. No Curses dependency — pure ANSI escape codes.
2026-03-28 20:24:30 +01:00