diff --git a/legacy/admin.html b/legacy/admin.html deleted file mode 100644 index 639a447..0000000 --- a/legacy/admin.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -Fragen-Admin - - - - - -

Fragen-Editor

- -
- -

Neue Frage hinzufügen

-
- - - - -
- - - - diff --git a/legacy/css/style.css b/legacy/css/style.css deleted file mode 100644 index 3541ef6..0000000 --- a/legacy/css/style.css +++ /dev/null @@ -1,160 +0,0 @@ -:root { - --bg: #0b0b15; - --fg: #f5f5f5; - --accent: #c9a86a; - --accent-soft: #e6c98f; - --box-bg: rgba(255,255,255,0.05); -} -body { - background: var(--bg); - color: var(--fg); - font-family: "Georgia", serif; - text-align: center; - padding: 20px; -} -.hidden { display: none; } - -.box { - border: 2px solid var(--accent); - padding: 20px; - margin: 20px auto; - width: 90%; - max-width: 600px; - background: var(--box-bg); - border-radius: 10px; -} - -input, textarea { - padding: 10px; - border-radius: 5px; - border: none; - margin-top: 10px; - width: 80%; - max-width: 250px; - text-align: center; -} - -button { - padding: 10px 20px; - background: var(--accent); - border: none; - border-radius: 5px; - cursor: pointer; - margin-top: 10px; - font-weight: bold; - color: #000; -} -button:hover { - background: var(--accent-soft); -} - -/* Fortschrittsleiste */ -.progress-container { - width: 90%; - max-width: 600px; - margin: 10px auto; - background: rgba(255,255,255,0.1); - border-radius: 10px; - border: 1px solid var(--accent); - overflow: hidden; -} -.progress-bar { - height: 14px; - background: linear-gradient(90deg, #c9a86a, #e6c98f); - width: 0%; - transition: width 0.3s; -} - -/* Briefumschlag */ -.intro-envelope { - position: relative; - width: 220px; - height: 150px; - margin: 0 auto 20px; -} - -.envelope-body { - width: 100%; - height: 100%; - background: #f5f5dc; - border-radius: 5px; - border: 2px solid #c9a86a; - position: relative; - overflow: hidden; - z-index: 1; -} - -.envelope-flap { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: #e6d8a8; - clip-path: polygon(0 0, 50% 60%, 100% 0); - transform-origin: top; - transition: transform 0.8s ease-in-out; - z-index: 2; -} - -.open .envelope-flap { - transform: rotateX(180deg); -} - -.sparkle::after { - content: ""; - position: absolute; - top: -10px; - left: 50%; - width: 6px; - height: 6px; - border-radius: 50%; - background: #ffeaa7; - box-shadow: - 0 0 8px #ffeaa7, - -20px -10px 6px rgba(255,255,255,0.6), - 15px -5px 6px rgba(255,255,255,0.5), - -10px 10px 6px rgba(255,255,255,0.4), - 20px 15px 6px rgba(255,255,255,0.5); - animation: sparkle 0.7s ease-out forwards; -} - -@keyframes sparkle { - from { opacity: 1; transform: translate(-50%, 0) scale(1); } - to { opacity: 0; transform: translate(-50%, -20px) scale(0.5); } -} - -/* loesungen.html */ -.loesungen-list .box { - background: #222; - border-left: 4px solid var(--accent); - border: none; -} - -/* vorschlag.html & admin.html */ -body.light-theme { - background: #f5f5f5; - color: #000; -} -body.light-theme .box { - background: white; - box-shadow: 0 0 5px rgba(0,0,0,0.1); -} - -textarea { - resize: vertical; - font-family: Arial, sans-serif; -} - -label { - display: block; - margin-top: 15px; - text-align: left; - font-weight: bold; -} - -/* admin.html */ -.box strong { - display: block; - margin-bottom: 10px; -} \ No newline at end of file diff --git a/legacy/error/400.html b/legacy/error/400.html deleted file mode 100644 index 582012e..0000000 --- a/legacy/error/400.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -400 – Verirrter Zauber - - - - -
-

400 – Verirrter Zauber

-

Der letzte Zauberspruch war etwas durcheinander geraten.

-

Zurück zum magischen Quiz

-
- - diff --git a/legacy/error/401.html b/legacy/error/401.html deleted file mode 100644 index b791376..0000000 --- a/legacy/error/401.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -401 – Zutritt nur für Zauberer - - - - -
-

401 – Zutritt nur für Zauberer

-

Für diesen Bereich brauchst du noch eine magische Legitimation.

-

Zurück zum magischen Quiz

-
- - diff --git a/legacy/error/403.html b/legacy/error/403.html deleted file mode 100644 index 3badc78..0000000 --- a/legacy/error/403.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -403 – Verbotener Bereich - - - - -
-

403 – Verbotener Bereich

-

Dieser Teil der Zauberwelt ist streng geschützt.

-

Zurück zum magischen Quiz

-
- - diff --git a/legacy/error/404.html b/legacy/error/404.html deleted file mode 100644 index f8f4f0c..0000000 --- a/legacy/error/404.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -404 – Karte des Rumtreibers leer - - - - -
-

404 – Seite nicht gefunden

-

Die Karte des Rumtreibers zeigt hier nichts an.

-

Zurück zum magischen Quiz

-
- - diff --git a/legacy/error/405.html b/legacy/error/405.html deleted file mode 100644 index c11a814..0000000 --- a/legacy/error/405.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -405 – Unzulässiger Zauber - - - - -
-

405 – Unzulässiger Zauber

-

Diese Art von Zauberspruch ist hier nicht erlaubt.

-

Zurück zum magischen Quiz

-
- - diff --git a/legacy/error/500.html b/legacy/error/500.html deleted file mode 100644 index c48a164..0000000 --- a/legacy/error/500.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -500 – Explosion im Zaubertrank-Labor - - - - -
-

500 – Explosion im Zaubertrank-Labor

-

Irgendetwas ist gründlich schiefgegangen. Die Hauselfen räumen schon auf.

-

Zurück zum magischen Quiz

-
- - diff --git a/legacy/error/502.html b/legacy/error/502.html deleted file mode 100644 index e6ecd3f..0000000 --- a/legacy/error/502.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -502 – Fehlgeleiteter Eulenflug - - - - -
-

502 – Fehlgeleiteter Eulenflug

-

Die Nachricht hat das Ziel nicht richtig erreicht.

-

Zurück zum magischen Quiz

-
- - diff --git a/legacy/error/503.html b/legacy/error/503.html deleted file mode 100644 index 4e1ca8f..0000000 --- a/legacy/error/503.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - -503 – Zaubereiministerium beschäftigt - - - - -
-

503 – Zaubereiministerium beschäftigt

-

Die magischen Dienste sind gerade ausgelastet. Versuche es später erneut.

-

Zurück zum magischen Quiz

-
- - diff --git a/legacy/favicon.ico b/legacy/favicon.ico deleted file mode 100644 index 7a6c687..0000000 Binary files a/legacy/favicon.ico and /dev/null differ diff --git a/legacy/finale.html b/legacy/finale.html deleted file mode 100644 index e6f4780..0000000 --- a/legacy/finale.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -Finale – Magisches Quiz - - - - - -
-

🎉 Happy Birthday Schatz 🎉

-

- -

💛 Der Gewinn ist ein schöner Abend Zuhause 💛

-

- Wir holen uns lecker essen und machen es uns gemütlich, entspannen, lachen und genießen die Zeit zusammen. - Wir kaufen ein Online escape game. Nach deiner Wahl, da ich nicht mehr weiß welche wir hatten. -

- -

Ich freue mich auf unseren Abend.

- - -
- - - - diff --git a/legacy/fragen.json b/legacy/fragen.json deleted file mode 100644 index f4eedac..0000000 --- a/legacy/fragen.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - { - "frage": "Wie lautet der zweite Vorname von Harry?", - "antwort": "james", - "tipp": "Er stammt von seinem Vater." - }, - { - "frage": "Wie heißt die Hüterin der verbotenen Abteilung?", - "antwort": "madam pince", - "tipp": "Ihr Nachname klingt wie 'zwicken'." - }, - { - "frage": "Welches magische Wesen bewacht die Kammer des Schreckens?", - "antwort": "basilisk", - "tipp": "Ein tödlicher Blick." - }, - { - "frage": "Wie lautet der Vorname von Dumbledores Bruder?", - "antwort": "aberforth", - "tipp": "Er betreibt den Eberkopf." - }, - { - "frage": "Welcher Zauber versiegelt Türen?", - "antwort": "colloportus", - "tipp": "Kommt im fünften Band häufig vor." - }, - { - "frage": "Wie heißt der Hauself der Familie Black?", - "antwort": "kreacher", - "tipp": "Er ist nicht besonders freundlich." - }, - { - "frage": "Wie lautet der Zauber, der Gegner entwaffnet?", - "antwort": "expelliarmus", - "tipp": "Harry benutzt ihn ständig." - }, - { - "frage": "Mein Lieblingsessen?", - "antwort": "Raclette", - "tipp": "Käse :)" - }, - { - "frage": "Dein Lieblingsessen?", - "antwort": "Ravioli", - "tipp": "Gefüllt ist's. " - }, - { - "frage": "Wo haben wir uns das erste mal geküsst?", - "antwort": "Olching", - "tipp": "Nur der Ort ist wichtig" - }, - { - "frage": "Mein erster Geburtstagskuchen für dich?", - "antwort": "Donauwelle", - "tipp": "Erst gestern war es witztig" - }, - { - "frage": "Erster Urlaub?", - "antwort": "Den Haag", - "tipp": "Nicht das land sondern der Ort" - }, - { - "frage": "Lieblingskörperstelle?", - "antwort": "Ombelico", - "tipp": "Es hat so schön geprickelt" - }, - { - "frage": "Als filmpaar sind wir am ehesten?", - "antwort": "Monroe&Rosalee", - "tipp": "Grimm ist die Serie" - }, - { - "frage": "Wie heißt unser erster Hund?", - "antwort": "Molly", - "tipp": "mal was einfaches" - } -] diff --git a/legacy/fragen_vorschlaege.json b/legacy/fragen_vorschlaege.json deleted file mode 100644 index 08d0c46..0000000 --- a/legacy/fragen_vorschlaege.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { - "frage": "Hagrid schlüsselbund hat wie viele Schlüssel?", - "antwort": "7", - "tipp": "weil es immer 3,5 oder 7 sind." - } -] \ No newline at end of file diff --git a/legacy/index.html b/legacy/index.html deleted file mode 100644 index 0ca7601..0000000 --- a/legacy/index.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -Magisches Harry-Potter-Escape-Quiz - - - - - - - -

✨ Magisches Spatzi-Quiz ✨

- -
-
-
-
Hauspunkte: 0
- -
-
-
-
-
-
-

Ein verzauberter Briefumschlag ist vor dir erschienen.

- -
- -
- - - - diff --git a/legacy/js/admin.js b/legacy/js/admin.js deleted file mode 100644 index b95a3ad..0000000 --- a/legacy/js/admin.js +++ /dev/null @@ -1,54 +0,0 @@ -let daten = []; - -async function load() { - const res = await fetch("fragen.json"); - daten = await res.json(); - render(); -} - -function render() { - const container = document.getElementById("fragen"); - container.innerHTML = ""; - - daten.forEach((f, i) => { - container.innerHTML += ` -
- Frage ${i+1} - - - - -
- `; - }); -} - -function edit(i, field, value) { - daten[i][field] = value; - save(); -} - -function addFrage() { - daten.push({ - frage: document.getElementById("newFrage").value, - antwort: document.getElementById("newAntwort").value, - tipp: document.getElementById("newTipp").value - }); - save(); -} - -function removeFrage(i) { - daten.splice(i, 1); - save(); -} - -async function save() { - await fetch("save.php", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(daten) - }); - load(); -} - -load(); diff --git a/legacy/js/finale.js b/legacy/js/finale.js deleted file mode 100644 index 86445bc..0000000 --- a/legacy/js/finale.js +++ /dev/null @@ -1,10 +0,0 @@ -function getParam(name) { - const params = new URLSearchParams(window.location.search); - return params.get(name); -} - -const score = getParam("score") || 0; -const max = getParam("max") || 10; - -document.getElementById("scoreText").innerText = - `Du hast ${score} von ${max} möglichen Hauspunkten erreicht.`; diff --git a/legacy/js/index.js b/legacy/js/index.js deleted file mode 100644 index 4bee0d1..0000000 --- a/legacy/js/index.js +++ /dev/null @@ -1,110 +0,0 @@ -function levenshtein(a, b) { - const matrix = Array.from({ length: a.length + 1 }, (_, i) => - Array.from({ length: b.length + 1 }, (_, j) => - i === 0 ? j : j === 0 ? i : 0 - ) - ); - for (let i = 1; i <= a.length; i++) { - for (let j = 1; j <= b.length; j++) { - matrix[i][j] = Math.min( - matrix[i - 1][j] + 1, - matrix[i][j - 1] + 1, - matrix[i - 1][j - 1] + (a[i - 1] === b[j - 1] ? 0 : 1) - ); - } - } - return matrix[a.length][b.length]; -} - -let fragen = []; -let index = 0; -let punkte = 0; -let versuche = []; - -function startGame() { - document.getElementById("envelope").classList.add("open"); - - setTimeout(() => { - document.getElementById("intro").classList.add("hidden"); - document.getElementById("bgm").play(); - loadQuestions(); - }, 900); -} - -async function loadQuestions() { - const res = await fetch("fragen.json"); - fragen = await res.json(); - - versuche = Array(fragen.length).fill(0); - - renderFrage(); - updateProgress(); -} - -function renderFrage() { - const f = fragen[index]; - document.getElementById("questions").innerHTML = ` -
-

Frage ${index + 1}

-

${f.frage}

- - - - -

Versuche: 0 / 3

-

-
- `; -} - -function showTip() { - document.getElementById("tipp").classList.remove("hidden"); -} - -function check() { - const input = document.getElementById("antwort").value.toLowerCase().trim(); - const korrekt = fragen[index].antwort.toLowerCase().trim(); - - versuche[index]++; - document.getElementById("versuche").innerText = `Versuche: ${versuche[index]} / 3`; - - const dist = levenshtein(input, korrekt); - - if (dist <= 2) { - punkte++; - addSparkle(); - next(); - return; - } - - if (versuche[index] >= 3) { - next(); - return; - } - - document.getElementById("feedback").innerText = "Leider falsch."; -} - -function addSparkle() { - const el = document.getElementById("frageBox"); - el.classList.add("sparkle"); - setTimeout(() => el.classList.remove("sparkle"), 700); -} - -function next() { - index++; - updateProgress(); - - if (index >= fragen.length) { - window.location.href = `finale.html?score=${punkte}&max=${fragen.length}`; - return; - } - - renderFrage(); -} - -function updateProgress() { - const percent = (index / fragen.length) * 100; - document.getElementById("progressBar").style.width = percent + "%"; - document.getElementById("progressLabel").innerText = `Hauspunkte: ${punkte}`; -} diff --git a/legacy/js/loesungen.js b/legacy/js/loesungen.js deleted file mode 100644 index bd8c3e9..0000000 --- a/legacy/js/loesungen.js +++ /dev/null @@ -1,17 +0,0 @@ -async function load() { - const res = await fetch("fragen.json"); - const fragen = await res.json(); - - const container = document.getElementById("loesungen"); - - fragen.forEach((f, i) => { - container.innerHTML += ` -
- ${i + 1}. ${f.frage}
- ${f.antwort} -
- `; - }); -} - -load(); diff --git a/legacy/js/vorschlag.js b/legacy/js/vorschlag.js deleted file mode 100644 index 570fa40..0000000 --- a/legacy/js/vorschlag.js +++ /dev/null @@ -1,31 +0,0 @@ -async function send() { - const frage = document.getElementById("frage").value.trim(); - const antwort = document.getElementById("antwort").value.trim(); - const tipp = document.getElementById("tipp").value.trim(); - - if (!frage || !antwort) { - alert("Bitte mindestens Frage und Antwort ausfüllen."); - return; - } - - const payload = { - frage: frage, - antwort: antwort, - tipp: tipp - }; - - const res = await fetch("save_vorschlag.php", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(payload) - }); - - if (res.ok) { - alert("Danke! Dein Vorschlag wurde gespeichert."); - document.getElementById("frage").value = ""; - document.getElementById("antwort").value = ""; - document.getElementById("tipp").value = ""; - } else { - alert("Fehler beim Speichern. Bitte später erneut versuchen."); - } -} diff --git a/legacy/loesungen.html b/legacy/loesungen.html deleted file mode 100644 index 92a82bf..0000000 --- a/legacy/loesungen.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -Lösungen – Magisches Quiz - - - - -

🔐 Lösungen zum Harry-Potter-Escape-Quiz

-
- - - - diff --git a/legacy/robots.txt b/legacy/robots.txt deleted file mode 100644 index 7d329b1..0000000 --- a/legacy/robots.txt +++ /dev/null @@ -1 +0,0 @@ -User-agent: * diff --git a/legacy/save.php b/legacy/save.php deleted file mode 100644 index d661859..0000000 --- a/legacy/save.php +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/legacy/save_vorschlag.php b/legacy/save_vorschlag.php deleted file mode 100644 index c73a371..0000000 --- a/legacy/save_vorschlag.php +++ /dev/null @@ -1,37 +0,0 @@ - "Ungültige Daten"]); - exit; -} - -// Existierende Vorschläge laden -$existing = []; -if (file_exists($file)) { - $json = file_get_contents($file); - $existing = json_decode($json, true); - if (!is_array($existing)) { - $existing = []; - } -} - -// Neuen Vorschlag anhängen -$existing[] = $data; - -// Datei speichern -if (file_put_contents($file, json_encode($existing, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE))) { - echo json_encode(["success" => true]); -} else { - http_response_code(500); - echo json_encode(["error" => "Konnte Datei nicht schreiben"]); -} -?> diff --git a/legacy/vorschlag.html b/legacy/vorschlag.html deleted file mode 100644 index d4b421f..0000000 --- a/legacy/vorschlag.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -Frage vorschlagen - - - - - -

✨ Frage vorschlagen ✨

- -

Hier kannst du eine neue Frage für das Quiz vorschlagen. -Die Frage wird gespeichert und später geprüft.

- -
- - - - - - - - - - -
- - - -