"""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)