Highscore Anpassung
This commit is contained in:
parent
3fb01608d7
commit
bb929fa102
2 changed files with 29 additions and 7 deletions
|
|
@ -289,10 +289,19 @@ def get_db():
|
||||||
"""
|
"""
|
||||||
CREATE TABLE IF NOT EXISTS spielstand (
|
CREATE TABLE IF NOT EXISTS spielstand (
|
||||||
spieler TEXT PRIMARY KEY,
|
spieler TEXT PRIMARY KEY,
|
||||||
raum_id TEXT
|
raum_id TEXT,
|
||||||
|
start_zeit REAL,
|
||||||
|
fertig_zeit REAL
|
||||||
)
|
)
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
spalten = {row[1] for row in db.execute("PRAGMA table_info(spielstand)")}
|
||||||
|
if "start_zeit" not in spalten:
|
||||||
|
db.execute("ALTER TABLE spielstand ADD COLUMN start_zeit REAL")
|
||||||
|
if "fertig_zeit" not in spalten:
|
||||||
|
db.execute("ALTER TABLE spielstand ADD COLUMN fertig_zeit REAL")
|
||||||
|
|
||||||
db.commit()
|
db.commit()
|
||||||
return db
|
return db
|
||||||
|
|
||||||
|
|
@ -310,9 +319,10 @@ def seite_html(inhalt, klasse="puzzle"):
|
||||||
def highscore_html(db):
|
def highscore_html(db):
|
||||||
eintraege = db.execute(
|
eintraege = db.execute(
|
||||||
"""
|
"""
|
||||||
SELECT name, fertig_zeit - start_zeit AS dauer
|
SELECT spieler, fertig_zeit - start_zeit AS dauer
|
||||||
FROM spieler
|
FROM spielstand
|
||||||
WHERE fertig_zeit IS NOT NULL
|
WHERE fertig_zeit IS NOT NULL
|
||||||
|
AND start_zeit IS NOT NULL
|
||||||
ORDER BY dauer
|
ORDER BY dauer
|
||||||
LIMIT 10
|
LIMIT 10
|
||||||
"""
|
"""
|
||||||
|
|
@ -369,8 +379,12 @@ def start():
|
||||||
)
|
)
|
||||||
spieler_id = cursor.lastrowid
|
spieler_id = cursor.lastrowid
|
||||||
db.execute(
|
db.execute(
|
||||||
"INSERT OR IGNORE INTO spielstand (spieler, raum_id) VALUES (?, ?)",
|
"INSERT OR IGNORE INTO spielstand (spieler, raum_id, start_zeit, fertig_zeit) VALUES (?, ?, ?, NULL)",
|
||||||
(name, "stadiontor"),
|
(name, "stadiontor", time.time()),
|
||||||
|
)
|
||||||
|
db.execute(
|
||||||
|
"UPDATE spielstand SET raum_id=?, start_zeit=? WHERE spieler=?",
|
||||||
|
("stadiontor", time.time(), name),
|
||||||
)
|
)
|
||||||
db.commit()
|
db.commit()
|
||||||
db.close()
|
db.close()
|
||||||
|
|
@ -451,12 +465,18 @@ def raum(raum_id):
|
||||||
if antwort == richtige_antwort:
|
if antwort == richtige_antwort:
|
||||||
db = get_db()
|
db = get_db()
|
||||||
spieler_id = session.get("spieler_id")
|
spieler_id = session.get("spieler_id")
|
||||||
|
spieler_name = session.get("spieler") or session.get("spieler_name")
|
||||||
if spieler_id:
|
if spieler_id:
|
||||||
db.execute(
|
db.execute(
|
||||||
"UPDATE spieler SET fertig_zeit=? WHERE id=? AND fertig_zeit IS NULL",
|
"UPDATE spieler SET fertig_zeit=? WHERE id=? AND fertig_zeit IS NULL",
|
||||||
(time.time(), spieler_id),
|
(time.time(), spieler_id),
|
||||||
)
|
)
|
||||||
db.commit()
|
if spieler_name:
|
||||||
|
db.execute(
|
||||||
|
"UPDATE spielstand SET fertig_zeit=? WHERE spieler=? AND (fertig_zeit IS NULL OR fertig_zeit = 0)",
|
||||||
|
(time.time(), spieler_name),
|
||||||
|
)
|
||||||
|
db.commit()
|
||||||
html = (
|
html = (
|
||||||
"<h1>Geschafft!</h1>"
|
"<h1>Geschafft!</h1>"
|
||||||
"<p>Die Nordkurve feiert mit dir, "
|
"<p>Die Nordkurve feiert mit dir, "
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,9 @@ db.executescript(
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS spielstand (
|
CREATE TABLE IF NOT EXISTS spielstand (
|
||||||
spieler TEXT PRIMARY KEY,
|
spieler TEXT PRIMARY KEY,
|
||||||
raum_id TEXT
|
raum_id TEXT,
|
||||||
|
start_zeit REAL,
|
||||||
|
fertig_zeit REAL
|
||||||
);
|
);
|
||||||
|
|
||||||
INSERT INTO raeume (id, name, beschreibung, raetsel_frage, raetsel_antwort) VALUES
|
INSERT INTO raeume (id, name, beschreibung, raetsel_frage, raetsel_antwort) VALUES
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue