Skip to content

Hilfen je Zeile bepreisen, Live-Prüfung entfernen, Sprachsteuerung „Dame zuerst“ - #73

Merged
IlianP merged 2 commits into
mainfrom
claude/voice-control-gameplay-tweaks-acn7zs
Sep 29, 2026
Merged

IlianP merged 2 commits into
mainfrom
claude/voice-control-gameplay-tweaks-acn7zs

Conversation

@IlianP

@IlianP IlianP commented Sep 29, 2026

Copy link
Copy Markdown
Owner

Was sich ändert

Hilfen kosten jetzt Zeit pro Zeile des Feldes

  • Hinweis: 3 s pro Zeile statt pauschal 30 s. Das sind 15 s auf 5×5, 24 s auf 8×8, 30 s auf 10×10 und 42 s auf 14×14. Der pauschale Preis hat eine typische 5×5-Lösung (Median ~9 s) mehr als verdreifacht und war auf 14×14 kaum spürbar.
  • Prüfen: neu 1 s pro Zeile, also 5–14 s. Die Prüfung wird einmal pro Spielstand berechnet. Kostenlos bleiben ein leeres Feld, ein unveränderter Stand und ein gelöstes Feld. Zurücksetzen setzt die Zahl der Prüfungen nicht zurück.
  • Beide Buttons zeigen ihren Preis passend zur Feldgröße an. Die aufsteigende Einblendung und die Uhr laufen für beide Hilfen gleich. Gewinnkarte und Listen-Tooltip zeigen die Prüfungen einzeln an.

Live-Prüfung entfernt. Der Schalter, die Einstellung und die Texte in allen sechs Sprachen sind weg. Prüfen gibt es nur noch auf Knopfdruck oder per Sprachbefehl, und das Ergebnis verschwindet mit dem nächsten Zug.

Sprachsteuerung (Beta)

  • „deine“ wird als „Dame“ erkannt, wie schon „damit“.
  • Neue Unteroption „Koordinate setzt zuerst eine Dame“. Sie ist nur bei aktiver Sprachsteuerung sichtbar. Ein bloßes „C4“ schaltet dann leer → Dame → Punkt → leer. Rückgängig geht pro gesagtem Feld, Tippen bleibt unverändert.

Server (docs/leaderboard-setup.sql)

  • Neu: Spalte checks (Default 0), queens_hint_penalty(), queens_check_penalty() und die Fünf-Parameter-Form von queens_score().
  • Die Drei-Parameter-Form von queens_score() wird entfernt.
  • Neu ist eine achte submit_score-Überladung mit p_checks, und top_scores liefert checks mit.
  • Der Client schickt p_checks nur, wenn der Wert größer als 0 ist.
  • Beim Merge spielt der deploy-sql-Workflow die Datei ein. Das update in Abschnitt 3 berechnet dabei die Bestandszeilen mit Hinweisen neu: unter 10×10 werden sie besser, darüber schlechter, auf 10×10 bleiben sie gleich.

Sonstiges: Die Button-Spalte im Querformat ist jetzt mindestens 165 px breit, damit beide Preisschilder in allen Sprachen passen.

Tests

  • Neu: tests/sql/check-penalty.sql, tests/logic/tap-cycle.mjs, tests/browser/check-cost.mjs.
  • Angepasst: percentile, voice-parse, stats, leaderboard-period, hint-cost, reset-timer, win-feedback, voice-mode und player-rank.sql.
  • Entfernt: live-check-sticky.mjs.
  • Alle Logik-, SQL- (lokales Postgres) und Browser-Tests laufen grün.
  • Die Migration habe ich gegen den Schema-Stand von main durchgespielt: 5×5 mit Hinweis 50 → 35 s, 10×10 unverändert, 14×14 mit 2 Hinweisen 120 → 144 s.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JtrV3sbDm21h8SVCYHwyZy


Generated by Claude Code

- "Prüfen" now costs one second per row (5 s on 5×5 … 14 s on 14×14),
  once per board state; the live lamp pays per verdict it shows, since it
  is an automatic press. The button wears its price, the clock shows it,
  and the win card / row tooltips spell it out.
- Server: `checks` column, queens_check_penalty(), five-argument
  queens_score(), an eight-argument submit_score with p_checks, and
  top_scores returns the count. The client sends p_checks only when > 0,
  so a check-free solve works against an un-migrated database.
- Voice Mode: accept "deine" as a mis-hearing of "Dame", and a new
  sub-option "Koordinate setzt zuerst eine Dame" that makes a bare
  coordinate cycle empty → queen → dot → empty (per-cell undo).
- Landscape action column floor raised to 165px so both priced buttons
  fit in every language pack.

Tests: tests/sql/check-penalty.sql, tests/logic/tap-cycle.mjs,
tests/browser/check-cost.mjs, plus additions to percentile, voice-parse
and voice-mode.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JtrV3sbDm21h8SVCYHwyZy
- A hint now costs 3 s per board row (15 s on 5×5, 24 s on 8×8, 30 s on
  10×10, 42 s on 14×14) instead of a flat 30 s, which tripled a typical
  small-board solve and was noise on a big one. hintPenalty() in
  js/highscores.js mirrors queens_hint_penalty() in the SQL; the section 3
  backfill re-prices stored rows with hints, and the size-less
  three-argument queens_score is dropped.
- The live check ("Live-Prüfung") is removed: a verdict after every move
  turns the game into guess-and-check. "Prüfen" is on demand only, and
  the next move clears its verdict.
- Both buttons' price tags follow the board size (updateCostLabels).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JtrV3sbDm21h8SVCYHwyZy
@IlianP
IlianP merged commit a1b330d into main Sep 29, 2026
1 check passed
@IlianP
IlianP deleted the claude/voice-control-gameplay-tweaks-acn7zs branch September 29, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants