diff --git a/app/app.py b/app/app.py
index 68ed4f9..6b40029 100644
--- a/app/app.py
+++ b/app/app.py
@@ -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 '
Verlies
Abenteuer starten'
-@app.route("/raum/")
+@app.route("/raum/", 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 "Befreit!
"
+ return 'Leider falsch. nochmal'
+ return "" + r["name"] + "
" + r["beschreibung"] + "
" \
+ + ''
+
+ # 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 = "" + r["name"] + "
"
diff --git a/app/init_db.py b/app/init_db.py
index b35c6ba..5c87400 100644
--- a/app/init_db.py
+++ b/app/init_db.py
@@ -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()