5.7 KiB
5.7 KiB
Chemie-Lernspiel Upgrade-Plan
Dieses Dokument beschreibt die geplanten Erweiterungen für das Alchemie-Labor-Chemie-Lernspiel im Verzeichnis chemie-spiel-dev.
1. Ziele des Upgrades
- Lernwert steigern: Spieler erhalten spannende und verständliche Fakten über die entdeckten Moleküle.
- Gamification: Ein "Entdecker-Buch" (Lexikon/Bibliothek) im Sidebar motiviert dazu, alle Moleküle freizuschalten. Fortschritt wird im Browser (
localStorage) gespeichert. - Visuelles Feedback & Saftigkeit (Juiciness): Reaktionen erzeugen Partikel-Explosionen, Atome sehen aus wie 3D-Kugeln, und das Interface fühlt sich dynamischer an.
- Mehr Inhalt: Zusätzliche Elemente (Schwefel, Eisen) und 12 neue Reaktionen (insgesamt 18 Rezepte).
2. Detaillierte Features
A. Element- & Rezept-Erweiterung
Wir führen zwei neue Basiselemente ein:
- Schwefel (S) (Gelb,
#f1c40f) - Eisen (Fe) (Metallisch-Grau,
#95a5a6)
Damit erweitern wir das Rezeptbuch um folgende spannende Kombinationen:
- H₂O (Wasser): 2x H + 1x O
- NaCl (Kochsalz): 1x Na + 1x Cl
- O₂ (Sauerstoff): 2x O
- CO₂ (Kohlendioxid): 1x C + 2x O
- CH₄ (Methan): 1x C + 4x H
- NH₃ (Ammoniak): 1x N + 3x H
- HCl (Salzsäure): 1x H + 1x Cl
- NaOH (Natronlauge): 1x Na + 1x O + 1x H
- H₂S (Schwefelwasserstoff): 2x H + 1x S
- FeS (Eisensulfid): 1x Fe + 1x S
- SO₂ (Schwefeldioxid): 1x S + 2x O
- CO (Kohlenmonoxid): 1x C + 1x O
- H₂O₂ (Wasserstoffperoxid): 2x H + 2x O
- HCN (Blausäure): 1x H + 1x C + 1x N
- N₂ (Stickstoff): 2x N
- Cl₂ (Chlor): 2x Cl
- H₂ (Wasserstoff): 2x H
- C₂H₄ (Ethen): 2x C + 4x H
B. Das Entdecker-Buch (Lexikon)
- Befindet sich in der Sidebar unter der Elementen-Auswahl.
- Zeigt den aktuellen Fortschritt an (z. B. "Entdeckt: 2 / 18").
- Ungelöste Rezepte werden als ausgegraute Fragezeichen dargestellt (z. B.
??? (H₂O)oder komplett anonymisiert). - Entdeckte Moleküle leuchten auf, zeigen ihren vollen Namen und können angeklickt werden, um die Info-Karte erneut zu öffnen.
- Speicherung des Fortschritts in
localStorage.
C. Info-Modal (Pop-up)
- Sobald eine Reaktion stattfindet, öffnet sich ein wunderschönes Modal (verdunkelter, weichgezeichneter Hintergrund).
- Inhalt:
- Großer Titel mit der chemischen Formel (z. B. H₂O (Wasser)).
- Ein kurzes, interessantes "Wusstest du schon?"-Faktum (z. B. über die Giftigkeit von Natrium und Chlor einzeln vs. die Harmlosigkeit von Kochsalz).
- Ein "Schließen"-Button, der das Modal schließt und den Spielfluss fortsetzt.
D. Visuelle Effekte & Animationen
- Partikel-Explosion: Bei einer erfolgreichen Reaktion fliegen 10-15 kleine, farbige Funken vom Reaktionszentrum in alle Richtungen weg und verblassen.
- 3D-Atome: Atome erhalten einen radialen Farbverlauf, der ihnen ein plastisches, rundes Aussehen verleiht.
- Tisch-Statistiken: Ein kleiner Counter zeigt an, wie viele Atome und Moleküle sich gerade auf dem Tisch befinden.
- Tisch leeren: Ein Papierkorb-Button löscht alle Elemente vom Tisch, um Platz für neue Experimente zu schaffen.
3. Schritt-für-Schritt-Implementierung
Schritt 1: HTML-Struktur aktualisieren (index.html)
- Neue Buttons für Schwefel (S) und Eisen (Fe) hinzufügen.
- Eine Sektion
#discovery-bookin der Sidebar einbauen. - Den "Tisch leeren"-Button und die Statistik-Zähler im Labor-Tisch ergänzen.
- Das
#info-modalContainer-Skelett am Ende des Bodys hinzufügen.
Schritt 2: CSS-Styling verfeinern (style.css)
- Sidebar-Scrollbarkeit verbessern, falls das Lexikon lang wird.
- Modernes Styling für das Modal (
position: fixed, Flexbox-Zentrierung,backdrop-filter: blur(5px)). - 3D-Look für Atome via Radial-Gradient (
background: radial-gradient(circle at 30% 30%, color 0%, darkcolor 100%)). - Schönes Design für das Entdecker-Buch (Grid oder List-Layout, Transitionen beim Freischalten).
- Partikel-CSS-Klasse für die Reaktionsexplosion.
Schritt 3: JavaScript-Logik überarbeiten (app.js)
- Rezepte-Array mit allen 18 Rezepten, Farben und detaillierten Texten anlegen.
- Speicherlogik via
localStorageeinrichten (discoveredMoleculesSet). - Funktion
updateDiscoveryBook()schreiben, die das Lexikon-UI aktualisiert. - Funktion
triggerExplosion(x, y, color)entwickeln, die DOM-basierte Partikel erzeugt und animiert. - Modal-Logik integrieren (
showModal(recipe)), die bei einer Reaktion aufgerufen wird und bei Klick auf das Lexikon. - Event-Listener für "Tisch leeren" und die Positions-Zähler aktualisieren.
4. Validierung & Tests
- Webserver: Läuft im Hintergrund auf Port 8080.
- Funktionalität:
- Spawnen von Atomen klappt.
- Drag & Drop funktioniert flüssig.
- Zusammenführen von 2x H + 1x O öffnet das Wasser-Modal und erzeugt eine Partikel-Explosion.
- Wasser wird im Entdecker-Buch freigeschaltet und persistiert bei Seiten-Reload.
- "Tisch leeren" entfernt alle Atome und Moleküle.
5. Rezept-Daten (Vorschau für app.js)
const recipes = [
{
id: "h2o",
ingredients: ['H', 'H', 'O'],
result: 'H₂O (Wasser)',
color: '#3498db',
desc: "Wasser ist die Grundlage allen Lebens auf der Erde. Unser Körper besteht zu über 60% daraus, und es bedeckt mehr als 70% unseres Planeten!"
},
{
id: "nacl",
ingredients: ['Cl', 'Na'],
result: 'NaCl (Kochsalz)',
color: '#f5f6fa',
desc: "Natriumchlorid kennen wir alle als Speisesalz. Faszinierend: Natrium ist ein explosives Metall und Chlor ein giftiges Gas – zusammen ergeben sie ein lebenswichtiges Gewürz!"
},
// ...weitere 16 Rezepte
];