Skip to content

docs: bewusste Abweichungen vom Original festhalten - #29

Merged
tehw0lf merged 1 commit into
mainfrom
docs/rule-deviations
Aug 12, 2026
Merged

docs: bewusste Abweichungen vom Original festhalten#29
tehw0lf merged 1 commit into
mainfrom
docs/rule-deviations

Conversation

@tehw0lf

@tehw0lf tehw0lf commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Reine Dokumentation, keine Codeänderung (und damit auch kein Versionsbump).

Hintergrund

Beim Durchgehen der Kartenwirkungen kam die Frage auf, ob die +4 originalgetreu ist. Die Antwort ist zweigeteilt:

Was schon stimmt: wild4 kombiniert bereits beides – 4 Strafkarten und Farbwunsch –, im Gegensatz zu draw2 (nur Strafe) und wild (nur Farbe). Verifiziert:

+4    -> Nachbar zog: 4 | Farbe: tuerkis | wishedColor: true | drewPenalty: true
wild  -> Nachbar zog: 0 | Farbe: lila    | wishedColor: true
+2    -> Nachbar zog: 2 | Farbe: gold (= Kartenfarbe) | wishedColor: false

Was bewusst fehlt: die Einschränkung, dass +4 nur ohne passende Karte gelegt werden darf.

Warum das so bleibt

Im Original gehört zu dieser Regel untrennbar das Anfechten: Man darf bluffen, und der Nächste darf es anzweifeln – mit Strafe für den, der falsch lag. Der Bluff ist die Regel. Erzwingt man nur die Einschränkung, ist das strikter als das echte Spiel: Da man meist irgendetwas Passendes hält, wäre die Karte fast nie legbar und der interessante Teil fiele weg.

Das Anfechten sauber umzusetzen passt zudem nicht zur Architektur – es erfordert, eine Hand einem anderen Spieler offenzulegen, und genau dass playerView() fremde Hände verbirgt, ist der Anti-Cheat-Mechanismus für den geplanten Multiplayer. Bots müssten zusätzlich bluffen und Bluffs einschätzen können.

Dazu ein struktureller Punkt: canPlay() bekommt bewusst eine einzelne Karte, nie die Hand. Es wäre die einzige Regel, deren Legalität von den übrigen Karten abhängt – und zwei Aufrufer fragen nach einer frisch gezogenen Karte, die noch zu keiner bewerteten Hand gehört.

Falls es doch mal gewünscht ist, nennt die Notiz die vertretbare Variante: ein Opt-in strictWild4 (Default aus) ohne Anfechten – nicht als Änderung am Standardverhalten.

Warum überhaupt dokumentieren

Damit die Frage in ein paar Monaten nicht als vermeintlicher Bug neu aufgemacht wird.

Tests 37/37, npm run check 0 Fehler / 0 Warnungen – unverändert, da nur Markdown betroffen ist.

Summary by CodeRabbit

  • Documentation
    • Documented the current Wild Draw Four gameplay behavior and known differences from the original game.
    • Noted potential future support for an optional stricter house rule.

Die +4 kombiniert bereits Strafkarten und Farbwunsch - das entspricht
dem Original. Was fehlt, ist die Einschraenkung, dass sie nur ohne
passende Karte gelegt werden darf.

Das ist Absicht: im Original gehoert dazu untrennbar das Anfechten. Wer
nur die Einschraenkung erzwingt, ist strikter als das echte Spiel - die
Karte waere fast nie legbar und das Bluff-Element faellt weg. Das
Anfechten selbst wuerde fremde Haende offenlegen und damit genau den
Mechanismus aushebeln, auf dem der geplante Multiplayer aufbaut.

Dazu der strukturelle Grund: canPlay() bekommt bewusst eine einzelne
Karte und nie die Hand. Es waere die einzige Regel, deren Legalitaet von
den uebrigen Karten abhaengt, und zwei Aufrufer fragen nach einer frisch
gezogenen Karte, die noch zu keiner bewerteten Hand gehoert.

Festgehalten, damit die Frage nicht spaeter neu aufgemacht wird, samt
Hinweis auf die vertretbare Variante (opt-in strictWild4 ohne Anfechten).

Keine Codeaenderung, daher kein Versionsbump.
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f2d66143-e5f1-480c-81aa-7b2478973d13

📥 Commits

Reviewing files that changed from the base of the PR and between d31096a and 6b65319.

📒 Files selected for processing (1)
  • CLAUDE.md

📝 Walkthrough

Walkthrough

The change adds documentation for current wild4 behavior, omitted restriction and challenge mechanics, related architectural constraints, and a possible opt-in strictWild4 rule.

Changes

wild4 documentation

Layer / File(s) Summary
Document wild4 deviations
CLAUDE.md
Documents the implemented wild4 effects, omitted hand-based restriction and challenge flow, visibility and legality-model constraints, and a possible opt-in strictWild4 house rule.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Mergeability Score: ⚪ Minimal · up to 6b653

This PR only documents an intentional rule deviation and does not change runtime behavior or production configuration. No actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the documentation change that records deliberate deviations from the original game's rules.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/rule-deviations

Comment @coderabbitai help to get the list of available commands.

@tehw0lf
tehw0lf merged commit 877cf3f into main Aug 12, 2026
21 checks passed
@tehw0lf
tehw0lf deleted the docs/rule-deviations branch August 12, 2026 23:49
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.

1 participant