Skip to content

Latest commit

 

History

History
100 lines (76 loc) · 4.25 KB

File metadata and controls

100 lines (76 loc) · 4.25 KB

Halma — Sternhalma gegen die KI

English · Deutsch


Stars Forks Issues Pull Requests

Last Commit License React TypeScript

Ein Sternhalma-Brettspiel (Chinese Checkers) gegen die KI, direkt im Browser spielbar. Drei Schwierigkeitsstufen, sieben Themes, Hintergrundmusik, Highscores und vollständig offline-fähig als PWA.

Features

  • KI-Gegner — Minimax-Algorithmus in drei Stufen (Leicht / Mittel / Schwer), läuft im Web Worker
  • 7 Themes — Standard, Kosmos, Neon, Eleganz, Holz, High-Contrast, Hell (auto-detect via prefers-color-scheme)
  • Sound & Musik — Generierte SFX via Web Audio API, lizenzierte Hintergrundmusik mit Shuffle-Playlist
  • PWA & Offline — Installierbar als App, vollständig offline spielbar dank Service Worker
  • Speed-Timer — Zeitmessung mit Zehntel-Sekunden, lokale Highscores pro Schwierigkeitsstufe
  • Barrierefreiheit — ARIA-Labels, Keyboard-Navigation, Focus-Styles, Screen-Reader-Support, prefers-reduced-motion
  • Seitenwahl — Oben oder Unten starten
  • Spielername — Frei wählbar, wird lokal gespeichert

Tech Stack

Technologie Verwendung
React 19 UI-Rendering
TypeScript Typsicherheit
Vite 7 Build-Tool & Dev-Server
CSS Modules + CSS Custom Properties Styling & Theming
Web Workers KI-Berechnung (non-blocking)
Web Audio API Sound-Effekte
vite-plugin-pwa Service Worker & Manifest

Entwicklung

# Abhaengigkeiten installieren
npm install

# Dev-Server starten
npm run dev

# Produktions-Build
npm run build

# Build-Vorschau
npm run preview

Projektstruktur

src/
  model/         Typen, Board-Setup, Spiellogik
  hooks/         useGame (Reducer, Timer, Highscores)
  components/    Board, GameInfo, DifficultySelect, Piece, ThemeSelect
  theme/         themes.ts (7 Themes + Tokens), ThemeContext.tsx
  ai/            AI Worker (Minimax-Algorithmus)
  audio/         sounds.ts (SFX), music.ts (Hintergrundmusik)
docs/            GitHub Pages Landing Page
public/
  music/         Lizenzierte MP3-Tracks (nicht im Repo, siehe public/music/README.md)
  HIGHSCORE.md   Highscore-Tabelle

Musik

Die drei Titel sind über AudioJungle (Envato Market) unter der Music Standard License lizenziert. Abspielbare Dateien liegen nicht im Repository. Im Repo stehen nur AES-verschlüsselte Fassungen unter assets/music/, die beim Build mit dem Schlüssel aus MUSIC_KEY entschlüsselt werden.

Wer das Projekt klont, bekommt also keine Musik. Das Spiel läuft vollständig ohne sie, der Musik-Knopf bleibt dann wirkungslos.

Titel, Urheber und Lizenznachweise stehen in CREDITS.md, technische Details in public/music/README.md.

Disclaimer

Halma ist ein klassisches Brettspiel, erfunden 1883 von George Howard Monks. Die Sternhalma-Variante (auch bekannt als "Chinese Checkers") entstand 1892. Diese Webseite ist ein nicht-kommerzielles Hobby-Projekt und steht in keiner Verbindung zu kommerziellen Halma-Produkten oder deren Herstellern.

Lizenz

Apache License 2.0 — siehe LICENSE.