diff --git a/app/app.py b/app/app.py index 2660b73..c6a5e0f 100644 --- a/app/app.py +++ b/app/app.py @@ -127,24 +127,48 @@ def render_page(title, body_html): """ -@app.route("/") -@app.route("/app") -@app.route("/app/") +@app.route("/", methods=["GET", "POST"]) +@app.route("/app", methods=["GET", "POST"]) +@app.route("/app/", methods=["GET", "POST"]) def start(): - body = """ -

Verlassenes Raumschiff

-

Du bist der einzige Überlebende an Bord. Erkunde das Schiff und aktiviere das Notsignal.

-
- Mission starten -
- """ - return render_page("Verlassenes Raumschiff", body) + if request.method == "POST": # Formular abgeschickt? + name = request.form["name"].strip() + if name != "": + session["spieler"] = name # App merkt sich: das bist du + db = get_db() + db.execute( + "INSERT OR IGNORE INTO spielstand (spieler, raum_id) VALUES (?, 1)", + (name,) + ) + db.commit() + db.close() + return redirect("/app/raum/1") + + html = '

Verlies

' + if "spieler" in session: + db = get_db() + s = db.execute( + "SELECT raum_id FROM spielstand WHERE spieler=?", + (session["spieler"],) + ).fetchone() + db.close() + if s: + html = html + '

Willkommen zurück, ' + html.escape(session["spieler"]) + '!

' \ + + 'Weiterspielen
' + return html + '
Dein Name: ' \ + + '
' @app.route("/raum/", methods=["GET", "POST"]) @app.route("/app/raum/", methods=["GET", "POST"]) def raum(id): db = get_db() + if "spieler" in session: # angemeldet? + db.execute( + "UPDATE spielstand SET raum_id=? WHERE spieler=?", + (id, session["spieler"]) + ) + db.commit() r = db.execute("SELECT * FROM raeume WHERE id=?", (id,)).fetchone() if not r: db.close()