v1.2: Log zeigt gewaehlte Sequenz (nie zweimal dieselbe), Anleitung vor Moduswahl (jede Runde), Roll-Sound-Kanal reserviert (Fix kein Sound), frueheres Abbremsen + Snap-Fenster 160px, 10s Cooldown am Ende, Sprueche nach Prozent (sayings.py), 56 Tests.
This commit is contained in:
1 parent
d970185e75
commit
e3a0c5a57d
11 files changed
+319
-37
No files matched your search
@@ -0,0 +1,68 @@
|
||||
"""Lustige Sprüche zum Ergebnis.
|
||||
|
||||
Zielgruppe sind Jugendliche am Zukunftstag: lieber augenzwinkernd als fies.
|
||||
Wer nichts tut, landet bei etwa 40-60 % – deshalb sind die Sprüche ab 70 %
|
||||
lobend und darunter nur leicht frech.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import random
|
||||
|
||||
#: Bei 100 % – der Wunsch aus dem Feedback.
|
||||
CONTRACT_LINE = "100%! Drücke A und unterschreib gleich einen Vertrag im Lager!"
|
||||
|
||||
TOP_LINES = (
|
||||
"Das war Lade-Profi-Niveau. Der Staplerfahrer will ein Autogramm.",
|
||||
"So voll sieht dieser Auflieger selten aus – Respekt!",
|
||||
"Da passt nicht mal mehr eine Müsliriegel-Packung rein. Stark!",
|
||||
)
|
||||
|
||||
GREAT_LINES = (
|
||||
"Sehr sauber geladen – damit würdest du im Lager sofort auffallen.",
|
||||
"Das ist Tetris mit Koffern. Weiter so!",
|
||||
"Fast Profi. Nur die letzte Lücke hat noch etwas Luft.",
|
||||
)
|
||||
|
||||
GOOD_LINES = (
|
||||
"Solide! Der Auflieger ist zufrieden, die Koffer auch.",
|
||||
"Passt schon – ein bisschen Luft ist noch drin, aber das ist okay.",
|
||||
"Ordentlich beladen. Kein Rekord, aber auch kein Chaos.",
|
||||
)
|
||||
|
||||
MEH_LINES = (
|
||||
"Naja … die Koffer sind drin. Irgendwie.",
|
||||
"Da geht noch was – der Auflieger hat Platz für einen Koffer mehr.",
|
||||
"Halb voll ist auch halb leer. Nächstes Mal!",
|
||||
)
|
||||
|
||||
LOW_LINES = (
|
||||
"Ui, da ist noch viel Luft drin. Die Koffer haben sich verlaufen.",
|
||||
"Der Auflieger wartet noch auf Nachschub. Weiter probieren!",
|
||||
"Eher Tetris im Anfänger-Modus – aber du bist dabei, das zählt.",
|
||||
)
|
||||
|
||||
OUCH_LINES = (
|
||||
"Der Auflieger ist noch fast leer – aber der Anfang ist gemacht!",
|
||||
"Autsch. Weisst du was? Nochmal ist immer eine Option.",
|
||||
"Fast leer. Dafür kann es jetzt nur noch aufwärts gehen.",
|
||||
)
|
||||
|
||||
|
||||
def saying_for(percent: float, rng: random.Random | None = None) -> str:
|
||||
"""Passender Spruch zur erreichten Beladung."""
|
||||
if percent >= 100:
|
||||
return CONTRACT_LINE
|
||||
if percent >= 85:
|
||||
pool = TOP_LINES
|
||||
elif percent >= 70:
|
||||
pool = GREAT_LINES
|
||||
elif percent >= 55:
|
||||
pool = GOOD_LINES
|
||||
elif percent >= 40:
|
||||
pool = MEH_LINES
|
||||
elif percent >= 20:
|
||||
pool = LOW_LINES
|
||||
else:
|
||||
pool = OUCH_LINES
|
||||
return (rng or random).choice(pool)
|
||||
Reference in new issue
Block a user