Schatzsuche; Truhe kann mit Code geöffnet werden

This commit is contained in:
ElenaRJ 2026-07-01 16:40:33 +02:00
parent ec4b520ae9
commit 1db3bbd488
2 changed files with 25 additions and 17 deletions

View file

@ -1,4 +1,4 @@
from flask import Flask
from flask import Flask, request
import sqlite3
app = Flask(__name__)
@ -12,10 +12,20 @@ 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()
if r["raetsel_frage"]: # Rätselraum?
if request.method == "POST":
if request.form["antwort"].strip() == r["raetsel_antwort"]:
return "<h1>Du findest einen geilen Schatz. Herzlichen Glückwunsch!</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>'
ausgaenge = db.execute(
"SELECT richtung, nach_raum FROM ausgaenge WHERE von_raum=?", (id,)
).fetchall()

View file

@ -3,31 +3,29 @@ 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
INSERT INTO raeume (id, name, beschreibung, raetsel_frage, raetsel_antwort) 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.'),
(4, 'Schatzkammer', 'Eine verschlossene Truhe glänzt im Halbdunkel.'),
(3, 'Bibliothek', 'Staubige Bücher stapeln sich bis zur Decke. Ein abgeranzter Zettel liegt am Boden, du erkennst die Zahlen 5674'),
(4, 'Schatzkammer', 'Eine verschlossene Truhe glänzt im Halbdunkel.', 'Gib den Code ein:", '5674'),
(5, 'Ritterinnensaal', 'Eine festlich gedeckte Tafel erstreckt sich so weit dein Auge reicht.');
INSERT INTO ausgaenge (von_raum, richtung, nach_raum) VALUES
(1, 'links', 2),
(1, 'rechts', 3),
(1, 'gerade aus', 5),
(1, 'rechts', 3),
(2, 'zurück', 1),
(3, 'zurück', 1),
(5, 'Falltür', 2),