From 60f5fd089ccc9a53b2999eee48403125eaf63308 Mon Sep 17 00:00:00 2001 From: lena_smd02 Date: Sun, 12 Jul 2026 13:55:05 +0200 Subject: [PATCH] 6.3 --- app/app.py | 21 +++++++++++++++------ app/init_db.py | 41 +++++++++++++---------------------------- 2 files changed, 28 insertions(+), 34 deletions(-) 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"] + "

" \ + + '
' + r["raetsel_frage"] \ + + '
' + + # 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()