Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

es-ist-leon/TheMatrix

Open more actions menu

Repository files navigation

🔢 Matrix Meister

Ein interaktives Lernspiel für Matrizenrechnung in Java

Matrix Meister ist ein umfassendes Lernspiel, das alle wichtigen Konzepte der linearen Algebra spielerisch vermittelt. Von den Grundlagen bis zu fortgeschrittenen Operationen wie Determinanten und Inversen bietet das Spiel verschiedene Lernmodi, die sowohl für Einsteiger als auch für Fortgeschrittene geeignet sind.


📋 Inhaltsverzeichnis

  1. Features
  2. Screenshots
  3. Installation
  4. Spielmodi
  5. Lernmodule
  6. Projektstruktur
  7. Technische Details

✨ Features

Das Spiel bietet ein vollständiges Lernerlebnis für Matrizenmathematik mit folgenden Kernfunktionen:

Interaktives Lernen — Jedes Konzept wird durch visuelle Darstellungen und praktische Übungen vermittelt. Anstatt nur Formeln auswendig zu lernen, entwickelst du ein echtes Verständnis für die Zusammenhänge.

Sofortiges Feedback — Bei jeder Aufgabe erhältst du unmittelbar eine Rückmeldung, ob deine Antwort korrekt war. Bei Fehlern wird die richtige Lösung erklärt, sodass du aus deinen Fehlern lernen kannst.

Progressives Schwierigkeitssystem — Die 10 Lernmodule sind nach Schwierigkeit geordnet (1-5 Sterne), sodass du dich schrittweise steigern kannst.

Gamification-Elemente — Punkte, Erfolgsserien und ein Combo-System machen das Lernen motivierend und belohnend.

Freies Experimentieren — Das Matrix-Labor ermöglicht dir, eigene Berechnungen durchzuführen und die einzelnen Rechenschritte nachzuvollziehen.


🖼️ Screenshots

Das Spiel verwendet ein dunkles, modernes Design mit farbcodierten Elementen:

┌─────────────────────────────────────────────┐
│           🧮 📊 🔢                          │
│                                             │
│         MATRIX MEISTER                      │
│   Lerne Matrizen auf spielerische Weise    │
│                                             │
│   ┌─────────────────────────────────┐      │
│   │ 📚 Tutorial starten        →    │      │
│   └─────────────────────────────────┘      │
│   ┌─────────────────────────────────┐      │
│   │ 🎮 Module wählen           →    │      │
│   └─────────────────────────────────┘      │
│   ┌─────────────────────────────────┐      │
│   │ ⚡ Herausforderung         →    │      │
│   └─────────────────────────────────┘      │
│   ┌─────────────────────────────────┐      │
│   │ 🧪 Matrix-Labor            →    │      │
│   └─────────────────────────────────┘      │
└─────────────────────────────────────────────┘

🚀 Installation

Voraussetzungen

Du benötigst Java JDK 11 oder höher. Um zu prüfen, ob Java installiert ist, öffne ein Terminal und führe folgenden Befehl aus:

java -version

Falls Java nicht installiert ist, kannst du es von adoptium.net herunterladen.

Kompilieren und Starten

Navigiere in das Projektverzeichnis und führe folgende Befehle aus:

# In das Source-Verzeichnis wechseln
cd matrix-game/src

# Alle Java-Dateien kompilieren
javac *.java

# Das Spiel starten
java MatrixGame

Alternativ kannst du das Projekt in eine IDE wie IntelliJ IDEA oder Eclipse importieren und von dort aus starten.


🎮 Spielmodi

📚 Tutorial

Das Tutorial führt dich in 9 interaktiven Schritten durch die Grundlagen der Matrizenrechnung:

  1. Was ist eine Matrix? — Einführung in das Konzept einer rechteckigen Zahlenanordnung
  2. Zeilen verstehen — Horizontale Anordnung von Elementen
  3. Spalten verstehen — Vertikale Anordnung von Elementen
  4. Dimension m×n — Wie man die Größe einer Matrix beschreibt
  5. Elementnotation a_ij — Wie man einzelne Elemente anspricht
  6. Matrizengleichheit — Wann sind zwei Matrizen gleich?
  7. Nullmatrix — Die Matrix, in der alle Elemente 0 sind
  8. Einheitsmatrix — Die "1" unter den Matrizen
  9. Abschluss — Zusammenfassung und Übergang zu den Übungen

Jeder Schritt enthält animierte Visualisierungen und interaktive Elemente, die das Verständnis vertiefen.

🎮 Lernmodule

Nach dem Tutorial kannst du in 10 verschiedenen Modulen gezielt üben. Jedes Modul konzentriert sich auf eine bestimmte Operation oder ein Konzept und enthält speziell darauf abgestimmte Aufgabentypen.

⚡ Herausforderungsmodus

Im Challenge-Modus hast du 2 Minuten Zeit, um möglichst viele Aufgaben aus allen Kategorien zu lösen. Das Combo-System belohnt aufeinanderfolgende richtige Antworten mit Bonuspunkten. Am Ende erhältst du eine detaillierte Auswertung mit deiner Genauigkeit und einer Note.

🧪 Matrix-Labor

Das Labor ist dein kreativer Spielplatz für Experimente. Hier kannst du zwei beliebige Matrizen eingeben (bis zu 5×5), verschiedene Operationen durchführen und die detaillierten Berechnungsschritte nachvollziehen. Das Labor zeigt dir genau, wie jede Rechnung funktioniert — von der Formel bis zum Endergebnis.


📖 Lernmodule

Modul Thema Schwierigkeit Beschreibung
0 Grundlagen Dimensionen, Elemente identifizieren, Matrixtypen erkennen
1 Addition ⭐⭐ Element-weise Addition zweier Matrizen gleicher Dimension
2 Subtraktion ⭐⭐ Element-weise Subtraktion zweier Matrizen
3 Skalarmultiplikation ⭐⭐ Multiplikation aller Elemente mit einer Zahl
4 Matrixmultiplikation ⭐⭐⭐⭐ Zeile×Spalte-Multiplikation mit Dimensionsprüfung
5 Transposition ⭐⭐⭐ Vertauschen von Zeilen und Spalten
6 Determinante ⭐⭐⭐⭐ Berechnung für 2×2 und 3×3 Matrizen (Sarrus-Regel)
7 Inverse Matrix ⭐⭐⭐⭐⭐ Berechnung der inversen Matrix für 2×2
8 Spezialmatrizen ⭐⭐⭐ Einheits-, Null-, Diagonal- und symmetrische Matrizen
9 Freies Üben ⭐⭐⭐ Zufällige Aufgaben aus allen Kategorien

📁 Projektstruktur

Das Projekt besteht aus 6 Java-Klassen, die zusammen etwa 4000 Zeilen Code umfassen:

matrix-game/
├── README.md
└── src/
    ├── MatrixGame.java          # Hauptklasse mit Menü und Spielzustand
    ├── TutorialPanel.java       # Interaktives 9-Schritte-Tutorial
    ├── ModuleSelectionPanel.java # Modulauswahl mit Schwierigkeitsanzeige
    ├── GamePanel.java           # Kern-Gameplay mit Fragegenerierung
    ├── ChallengePanel.java      # Zeitbasierter Herausforderungsmodus
    └── MatrixLabPanel.java      # Freies Experimentier-Labor

Klassenübersicht

MatrixGame.java ist die zentrale Klasse, die das Hauptfenster verwaltet und zwischen den verschiedenen Bildschirmen wechselt. Sie verwendet ein CardLayout für die Navigation und speichert den globalen Spielzustand wie Punktzahl und Erfolgsserie.

TutorialPanel.java implementiert das schrittweise Tutorial mit animierten Visualisierungen. Eine innere Klasse TutorialStep definiert jeden Schritt mit Titel, Erklärung und Visualisierungstyp. Das MatrixVisualizationPanel rendert die Matrizen mit Hervorhebungen und Animationen.

ModuleSelectionPanel.java zeigt die 10 Lernmodule als anklickbare Karten mit Icons, Beschreibungen und Schwierigkeitsanzeigen. Hover-Effekte verbessern die Benutzerinteraktion.

GamePanel.java ist das Herzstück des Spiels. Es generiert basierend auf dem gewählten Modul passende Aufgaben, validiert die Eingaben des Spielers und gibt sofortiges visuelles Feedback. Die Klasse enthält die gesamte Logik für alle Matrixoperationen.

ChallengePanel.java implementiert den zeitbasierten Modus mit Countdown-Timer, Combo-System und zufälliger Aufgabengenerierung aus allen Kategorien.

MatrixLabPanel.java ermöglicht freies Experimentieren mit zwei eingebbaren Matrizen und zeigt für jede Operation die detaillierten Berechnungsschritte an.


🔧 Technische Details

Verwendete Technologien

Das Spiel basiert vollständig auf Java Swing und benötigt keine externen Bibliotheken. Die wichtigsten Swing-Komponenten sind:

  • JFrame und JPanel für die Fenster- und Panelstruktur
  • CardLayout für die Navigation zwischen Bildschirmen
  • GridLayout und BorderLayout für die Anordnung der Matrixzellen
  • Timer für Animationen und den Countdown im Challenge-Modus
  • Graphics2D mit Antialiasing für hochwertige Darstellung

Farbschema

Das Spiel verwendet ein konsistentes dunkles Farbschema:

BACKGROUND_COLOR  = #191923  // Tiefdunkler Hintergrund
PANEL_COLOR       = #282C34  // Panel-Hintergrund
ACCENT_COLOR      = #61AFEF  // Blauer Akzent
SUCCESS_COLOR     = #98C379  // Grün für Erfolg
ERROR_COLOR       = #E06C75  // Rot für Fehler
TEXT_COLOR        = #DCE0E8  // Heller Text
HIGHLIGHT_COLOR   = #E5C07B  // Gelb/Gold Highlight
MATRIX_CELL_COLOR = #373C48  // Matrix-Zellen

Implementierte Matrixoperationen

Alle Operationen sind mit vollständiger Fehlerbehandlung implementiert:

  • Addition/Subtraktion — Prüft auf gleiche Dimensionen
  • Skalarmultiplikation — Multipliziert jedes Element mit dem Skalar
  • Matrixmultiplikation — Prüft Kompatibilität (Spalten A = Zeilen B)
  • Transposition — Vertauscht Zeilen und Spalten
  • Determinante 2×2 — Formel: ad - bc
  • Determinante 3×3 — Sarrus-Regel mit Diagonalprodukten
  • Inverse 2×2 — Adjungierte Matrix geteilt durch Determinante

🎓 Pädagogisches Konzept

Das Spiel folgt bewährten didaktischen Prinzipien:

Scaffolding — Die Konzepte bauen aufeinander auf, wobei das Tutorial die Grundlage für alle weiteren Module legt.

Aktives Lernen — Anstatt nur zu lesen, löst der Spieler aktiv Aufgaben und erhält sofortiges Feedback.

Visuelles Lernen — Matrizen werden grafisch dargestellt mit farbcodierten Hervorhebungen für Zeilen, Spalten und einzelne Elemente.

Spaced Repetition — Durch den Challenge-Modus und das freie Üben werden Konzepte regelmäßig wiederholt.

Intrinsische Motivation — Punkte, Combos und Erfolgsserien machen das Lernen zum Spiel.


📄 Lizenz

Dieses Projekt ist frei verwendbar für Bildungszwecke.


🤝 Mitwirken

Verbesserungsvorschläge und Erweiterungen sind willkommen! Mögliche Erweiterungen könnten sein:

  • Zusätzliche Module für Eigenwerte und Eigenvektoren
  • Speichern von Highscores
  • Mehrsprachige Unterstützung
  • Zusätzliche Visualisierungen für komplexe Operationen

Erstellt mit ❤️ für alle, die Matrizen meistern wollen.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.