Spiel ---------------------------------------- kern ---------------------------------------- Simuliert einen vollständigen TFT-Spielzug mit Gegnern, Shop und Kampf ---------------------------------------- - game_id ist 8-stelliger Hex-String - Board enthält Einheiten mit Items - Shop enthält Odds und Kosten - XP zeigt Fortschritt zum Levelaufstieg - Augment-Angebot erscheint in passenden Runden - Kampf endet automatisch mit Zustandsänderungen bei allen Beteiligten - Spieler HP auf 0 - Letzte Runde vorbei - buy_xp als Aktion - pick_augment als Aktion - lock als Aktion - next als Aktion - Augment-Auswahl zeigt gewählte Augmente - Shop zeigt Upgrade-Hinweis für 2- und 3-Sterneinheit - Spielstand enthält reroll_cost und xp_cost - Spielstand enthält shop_locked und shop_odds - Spielstand enthält xp und xp_needed - Spielstand enthält streak - Spielstand enthält Log der letzten 8 Einträge - Spielstand enthält placement - autoplay als eigene Funktion ---------------------------------------- Gegner einblenden Blickt in die Board-Aufstellung eines Gegners - Nur für Nicht-Spieler - Gegner muss lebendig sein - Gegner braucht Einheiten auf dem Board - LMB auf lebenden Gegner - Scout-Bereich mit Einheiten-Icon erscheint - Erneuter Klick blendet Scout aus ---------------------------------------- Runde fortsetzen Wechselt zur nächsten Spielphase oder löst den Kampf aus - Nächste Phase einleiten - Kampf ▶ im PvP-Modus auslösen - Kampf-Button klicken - Spielzustand fortgeschritten ---------------------------------------- Spiel starten Beginnt ein neues Spiel mit initialem Spielstand - Generiert eindeutige game_id - Lädt statische Spieldaten - Initialisiert Spieler und Bots - Antwortet mit vollständigem Spielstand - LMB auf "Neues Spiel" - Anfrage an Backend abwarten - Splash-Bildschirm verschwindet, Spiel-Layout erscheint ---------------------------------------- Spielaktion ausführen Führt Aktionen wie Kaufen, Verkaufen und Bewegen im Spiel aus - 404 bei unbekannter Spiel-ID - 400 bei unbekannter Aktion - 400 bei ungültiger Aktion - 400 bei fehlenden Parametern - POST an Spielaktion-Endpunkt mit action=buy und slot=0 - 200 miterialisierter Spielstand zurück - Aktion ungültig → 400 mit Fehlermeldung ---------------------------------------- Spiele automatisch spielen ---------------------------------------- Spielstand abrufen Gibt den aktuellen Spielstand als JSON zurück - Unbekannte game_id wirft HTTP 404 - GET auf ungültige game_id - HTTP 404 mit Fehlermeldung - GET auf gültige game_id - HTTP 200 mit Spielstand