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
app = Flask(__name__)
@ -12,13 +12,22 @@ def get_db():
def start():
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):
db = get_db()
r = db.execute("SELECT name, beschreibung FROM raeume WHERE id=?", (id,)).fetchone()
ausgaenge = db.execute(
"SELECT richtung, nach_raum FROM ausgaenge WHERE von_raum=?", (id,)
).fetchall()
r = db.execute("SELECT * FROM raeume WHERE id=?", (id,)).fetchone()
if r["raetsel_frage"]: # Rätselraum?
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()
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.executescript("""
CREATE TABLE IF NOT EXISTS raeume (
DROP TABLE IF EXISTS raeume;
DROP TABLE IF EXISTS ausgaenge;
CREATE TABLE raeume (
id INTEGER PRIMARY KEY,
name TEXT,
beschreibung TEXT
);
CREATE TABLE IF NOT EXISTS ausgaenge (
von_raum INTEGER,
richtung TEXT,
nach_raum INTEGER
beschreibung TEXT,
raetsel_frage TEXT,
raetsel_antwort TEXT
);
CREATE TABLE ausgaenge (von_raum INTEGER, richtung TEXT, nach_raum INTEGER);
DELETE FROM raeume;
DELETE FROM ausgaenge;
INSERT INTO raeume (id, name, beschreibung) VALUES
(1, 'Eingangshalle', 'Eine schwere Tür fällt hinter dir zu. Zwei Gänge führen ins Dunkel.'),
(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);
INSERT INTO raeume (id, name, beschreibung, raetsel_frage, raetsel_antwort) VALUES
(1, 'Eingangshalle', 'Eine schwere Tür fällt hinter dir zu.', NULL, NULL),
(2, 'Krypta', 'Kaltes Kerzenlicht flackert.', NULL, NULL),
(3, 'Bibliothek', 'Staubige Bücher bis zur Decke.', NULL, NULL),
(4, 'Schatzkammer', 'Eine verschlossene Truhe.', 'Wie viele Beine hat eine Spinne?', '8');
""")
db.commit()