This commit is contained in:
lena_smd02 2026-07-12 13:55:05 +02:00
parent 1104a7264e
commit 60f5fd089c
2 changed files with 28 additions and 34 deletions

View file

@ -1,4 +1,4 @@
from flask import Flask from flask import Flask, request
import sqlite3 import sqlite3
app = Flask(__name__) app = Flask(__name__)
@ -12,13 +12,22 @@ def get_db():
def start(): def start():
return '<h1>Verlies</h1><a href="/app/raum/1">Abenteuer starten</a>' return '<h1>Verlies</h1><a href="/app/raum/1">Abenteuer starten</a>'
@app.route("/raum/<int:id>") @app.route("/raum/<int:id>", methods=["GET", "POST"])
def raum(id): def raum(id):
db = get_db() db = get_db()
r = db.execute("SELECT name, beschreibung FROM raeume WHERE id=?", (id,)).fetchone() r = db.execute("SELECT * FROM raeume WHERE id=?", (id,)).fetchone()
ausgaenge = db.execute(
"SELECT richtung, nach_raum FROM ausgaenge WHERE von_raum=?", (id,) if r["raetsel_frage"]: # Rätselraum?
).fetchall() if request.method == "POST":
if request.form["antwort"].strip() == r["raetsel_antwort"]:
return "<h1>Befreit!</h1>"
return 'Leider falsch. <a href="/app/raum/' + str(id) + '">nochmal</a>'
return "<h1>" + r["name"] + "</h1><p>" + r["beschreibung"] + "</p>" \
+ '<form method="post">' + r["raetsel_frage"] \
+ ' <input name="antwort"><button>OK</button></form>'
# sonst: normaler Raum mit Ausgängen (wie bisher)
ausgaenge = db.execute("SELECT richtung, nach_raum FROM ausgaenge WHERE von_raum=?", (id,)).fetchall()
db.close() db.close()
html = "<h1>" + r["name"] + "</h1>" html = "<h1>" + r["name"] + "</h1>"

View file

@ -3,38 +3,23 @@ import sqlite3
db = sqlite3.connect("adventure.db") # Datei wird angelegt, falls nicht da db = sqlite3.connect("adventure.db") # Datei wird angelegt, falls nicht da
db.executescript(""" db.executescript("""
CREATE TABLE IF NOT EXISTS raeume ( DROP TABLE IF EXISTS raeume;
DROP TABLE IF EXISTS ausgaenge;
CREATE TABLE raeume (
id INTEGER PRIMARY KEY, id INTEGER PRIMARY KEY,
name TEXT, name TEXT,
beschreibung TEXT beschreibung TEXT,
); raetsel_frage TEXT,
CREATE TABLE IF NOT EXISTS ausgaenge ( raetsel_antwort TEXT
von_raum INTEGER,
richtung TEXT,
nach_raum INTEGER
); );
CREATE TABLE ausgaenge (von_raum INTEGER, richtung TEXT, nach_raum INTEGER);
DELETE FROM raeume; INSERT INTO raeume (id, name, beschreibung, raetsel_frage, raetsel_antwort) VALUES
DELETE FROM ausgaenge; (1, 'Eingangshalle', 'Eine schwere Tür fällt hinter dir zu.', NULL, NULL),
(2, 'Krypta', 'Kaltes Kerzenlicht flackert.', NULL, NULL),
INSERT INTO raeume (id, name, beschreibung) VALUES (3, 'Bibliothek', 'Staubige Bücher bis zur Decke.', NULL, NULL),
(1, 'Eingangshalle', 'Eine schwere Tür fällt hinter dir zu. Zwei Gänge führen ins Dunkel.'), (4, 'Schatzkammer', 'Eine verschlossene Truhe.', 'Wie viele Beine hat eine Spinne?', '8');
(2, 'Krypta', 'Kaltes Kerzenlicht flackert an den Wänden.'),
(3, 'Bibliothek', 'Staubige Bücher stapeln sich bis zur Decke.');
INSERT INTO ausgaenge (von_raum, richtung, nach_raum) VALUES
(1, 'links', 2),
(1, 'rechts', 3),
(2, 'zurück', 1),
(3, 'zurück', 1);
INSERT INTO raeume (id, name, beschreibung) VALUES
(4, 'Schatzkammer', 'Eine verschlossene Truhe glänzt im Halbdunkel.');
INSERT INTO ausgaenge (von_raum, richtung, nach_raum) VALUES
(2, 'vor', 4),
(2, 'zurück', 1),
(2, 'hoch', 3);
""") """)
db.commit() db.commit()