This commit is contained in:
team3
2026-09-30 14:53:23 +02:00
parent fd7893b5d2
commit 817f39a42c
6 changed files with 187 additions and 0 deletions

View File

@@ -20,6 +20,15 @@ KOMMENTAR = 5
ANTWORT = 2
HERZ = 1
# Für den Info-Reiter: was zählt, mit der Zahl — aus denselben Konstanten
REGELN = (
("Beim Filmabend dabei", SCHAUEN),
("Film mit Sternen bewertet", BEWERTEN),
("Kommentar geschrieben", KOMMENTAR),
("Auf einen Kommentar geantwortet", ANTWORT),
("Herz vergeben", HERZ),
)
ZAEHLUNGEN = (
(SCHAUEN, "SELECT user_id, COUNT(*) AS n FROM watched_dabei GROUP BY user_id"),
(
@@ -46,6 +55,17 @@ ZAEHLUNGEN = (
)
def vorlage():
"""Der Info-Text, solange der Host keinen eigenen geschrieben hat —
die Regeln mit ihren Zahlen und die ersten Levelstufen, als Markdown."""
zeilen = ["## Erfahrung", ""]
zeilen += [f"- {was}: **+{p}**" for was, p in REGELN]
zeilen += ["", "Je Film zählt jede Art nur einmal.", "", "## Level", ""]
stufen = ", ".join(f"Level {stufe} ab {stufe * (stufe - 1) // 2}" for stufe in range(2, 8))
zeilen.append(f"{stufen} … Jedes weitere Level kostet einen Punkt mehr als das davor.")
return "\n".join(zeilen)
def level(punkte):
"""Größtes L mit L·(L−1)/2 ≤ Punkte. Null Punkte sind Level 1."""
stufe = (1 + isqrt(1 + 8 * punkte)) // 2