from flask import Flask, request, session from html import escape from pathlib import Path import re import sqlite3 import time app = Flask(__name__) app.secret_key = "stadion-escape-secret" DB_PATH = Path(__file__).with_name("adventure.db") STYLE = """
Noch keine fertigen Stadionrunden. Starte ein Abenteuer, dann taucht deine Zeit hier auf.
" ) html += 'Zurück zum Start' return seite_html(html) @app.route("/", methods=["GET", "POST"]) @app.route("/app/", methods=["GET", "POST"]) def start(): if request.method == "POST": name = request.form["name"].strip() if not name: name = "Unbekannter Fan" db = get_db() cursor = db.execute( "INSERT INTO spieler (name, start_zeit, fertig_zeit) VALUES (?, ?, NULL)", (name, time.time()), ) spieler_id = cursor.lastrowid db.commit() db.close() session["spieler_id"] = spieler_id session["spieler_name"] = name return seite_html( "Willkommen, " + escape(name) + ". Dein Weg durchs Stadion beginnt.
" 'Zum Stadiontor' ) return seite_html( 'Escape Room im Stadiongang
' "Trage deinen Namen auf der Eintrittskarte ein. Ab dann läuft deine Zeit.
" '" '', "scene", ) @app.route("/raum/Die Nordkurve feiert mit dir, " + escape(session.get("spieler_name", "Fan")) + ".
" ) html += highscore_html(db) db.close() return seite_html(html) return seite_html( 'Erwin schüttelt den Kopf. Die Botschaft stimmt noch nicht.
' 'Nochmal versuchen' ) html = "" + escape(r["beschreibung"]) + "
" html += '" db.close() return seite_html(html) ausgaenge = db.execute( "SELECT richtung, nach_raum FROM ausgaenge WHERE von_raum=?", (raum_id,), ).fetchall() db.close() html = "" + escape(r["beschreibung"]) + "
" for a in ausgaenge: html += '' html += escape(a["richtung"]) html += " " return seite_html(html) if __name__ == "__main__": app.run(host="0.0.0.0", port=9000)