diff --git a/app/app.py b/app/app.py index 841f938..fb57ed5 100644 --- a/app/app.py +++ b/app/app.py @@ -1,4 +1,5 @@ import os +import random import sqlite3 import time from flask import Flask, redirect, request, session @@ -31,6 +32,40 @@ def get_highscores(limit=10): return rows +def get_story_html(room, exits): + mood = random.choice( + [ + "Die Luft ist kalt, als würde das Verlies selbst atmen.", + "Ein feiner Staubschleier tanzt im Licht, als wolle er dir etwas zeigen.", + "Ein leises Knarren erfüllt den Raum, als hätte die Dunkelheit ein Auge geöffnet.", + ] + ) + hint = random.choice( + [ + "Irgendwo in der Finsternis liegt ein Hinweis auf den nächsten Schritt.", + "Der Weg zum Ziel ist nicht immer der einfachste, aber er ist der richtige.", + "Jede Ecke scheint ein kleines Geheimnis zu verbergen.", + ] + ) + goal = random.choice( + [ + "Dein Ziel ist klar: den Schatz zu finden, bevor die Tür sich wieder schließt.", + "Mit jedem Schritt näherst du dich dem letzten Geheimnis.", + "Ein letzter Atemzug, und der Weg wäre frei.", + ] + ) + + directions = [exit_row["richtung"] for exit_row in exits] + falltuer = random.choice(directions) if directions else None + + html = "
" + room["beschreibung"] + "
" + html += "" + mood + " " + hint + " " + goal + "
" + if falltuer: + html += "Im Schatten des Raums scheint ein möglicher Weg nach " + falltuer + " zu führen — vielleicht ist das die Falltür.
" + return html + + @app.route("/", methods=["GET", "POST"]) @app.route("/app", methods=["GET", "POST"]) @app.route("/app/", methods=["GET", "POST"]) @@ -99,13 +134,11 @@ def start(): return "Du hast den Schatz gefunden.
" return 'Leider falsch. nochmal' - html = "" + r["beschreibung"] + "
" + html = get_story_html(r, ausgaenge) html += '' return html - html = "" + r["beschreibung"] + "
" + html = get_story_html(r, ausgaenge) for a in ausgaenge: html += '' + a["richtung"] + ' ' return html diff --git a/app/init_db.py b/app/init_db.py index 7bd1dc1..f8371be 100644 --- a/app/init_db.py +++ b/app/init_db.py @@ -1,6 +1,10 @@ +import os import sqlite3 -db = sqlite3.connect("adventure.db") # Datei wird angelegt, falls nicht da +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +DB_PATH = os.path.join(BASE_DIR, "adventure.db") + +db = sqlite3.connect(DB_PATH) # Datei wird angelegt, falls nicht da db.executescript(""" DROP TABLE IF EXISTS raeume; @@ -43,4 +47,4 @@ INSERT INTO ausgaenge (von_raum, richtung, nach_raum) VALUES db.commit() db.close() -print("Datenbank adventure.db angelegt.") +print(f"Datenbank {DB_PATH} angelegt.")