# TROX – Druckpaket & Generator-Skripte Alles für Prototyp und Serie bei The Game Crafter (TGC) bzw. ähnlichen Portalen. ## Suit-Codes (NEU, englische Logik) | Suit | Code | Rolle | Symbol | |---|---|---|---| | Red | **R** | Permanenter TRUMPF | Crown | | Yellow | **Y** | Standard | Sun | | Green | **G** | Standard | Leaf | | Black | **B** | Standard | Gear | Kartencodes auf den Karten z.B. `TK-Y4` (Yellow 4), `TK-G7` (Green 7), `TK-R17`, `TK-B12` (Black 12). ## Was ist drin | Datei / Ordner | Inhalt | |---|---| | `trox_card.js` | **Gemeinsames Modul** – die EINE Kartenzeichnung. Wird von cards + box genutzt | | `generate_cards.js` | 80 Kartenvorderseiten (TGC + Original) | | `generate_back.js` | gemeinsame Rückseite (TGC + Original) | | `generate_box.js` | Tuckbox: Front mit ECHTEN TROX-Karten (aus trox_card.js) + Box-Netz | | `generate_scorepad.js` | Scorepad als **PDF** – Format/Ausrichtung/Layout/Spielerzahl frei wählbar | | `make_rules.js` | **Node.js**-Skript der PDF-Anleitung (pdfkit) | | `svg_to_png.js` | SVG -> PNG Konverter für den TGC-Upload | | `TROX_Rules_Extended_EN.pdf` | Erweiterte Anleitung mit 3-Spieler-Beispielen | | `karten_export_tgc/` | 80 Karten + Rückseite, **825x1125 px** (TGC-konform, mit Bleed) | | `karten_export_original/` | dieselben in **694x1069 px** (Originalmaß) | | `box_export/` | `trox_box_front.svg` + `trox_box_wrap.svg` | | `scorepad_export/` | mehrere **PDF**-Varianten (Letter/A4, portrait/landscape, versch. Layouts) | ## Architektur (wichtig) `trox_card.js` ist die **einzige Quelle** des Kartendesigns: - `buildCardSVG(colorName, num, opts)` -> komplette Karten-SVG (von generate_cards.js) - `miniCardGroup(colorName, num, cx, cy, breite, rotation)` -> dieselbe Karte als skalierte Gruppe (von generate_box.js für den Fächer) Dadurch sind die Karten auf der Box **garantiert identisch** mit den echten Spielkarten – nur skaliert und gefächert. Wer das Design ändert (Farben, Symbole, Schrift), ändert NUR `trox_card.js`, und Karten + Box bleiben synchron. ## Skripte ausführen ```bash npm install pdfkit # einmalig, für make_rules.js node generate_cards.js # both (TGC + Original) – oder: tgc | original node generate_back.js # both – oder: tgc | original node generate_box.js # both (front + wrap) – oder: front | wrap [scale] node generate_scorepad.js # PDF, both 2x3 6 Spieler – [fmt] [orientation] [cols] [rows] [players] [margin] node make_rules.js # erzeugt die PDF-Anleitung ``` ## Druck-Workflow für The Game Crafter 1. **Produkt:** Karten = *Poker Card* (825x1125). Box für 80 Karten = *Poker Tuck Box (90 cards)*. 2. **SVG -> PNG** (TGC nimmt KEIN SVG): ```bash npm install sharp node svg_to_png.js karten_export_tgc node svg_to_png.js box_export ``` 3. **Hochladen:** PNGs der 80 Karten + Rückseite in den Deck-Uploader. 4. **Box:** offizielles Stanz-Template der "Poker Tuck Box (90 cards)" von TGC laden und in `generate_box.js` die Konstanten `PANEL_W`, `PANEL_H`, `SPINE`, `FLAP` daran angleichen. Faltlinien (gestrichelt) VOR dem Upload entfernen. ### TGC-Specs (bestätigt) - **300 DPI**, **nur RGB** (CMYK wird abgelehnt). - **Bleed** 1/8" (≈37 px), **Safe Zone** 1/4" (75 px) vom Rand. ## Anpassen - **Kartendesign (Farben/Symbole/Schrift):** nur `trox_card.js`. - **Welche Karten im Box-Fächer:** `cardFan()` in `generate_box.js` (die vier `miniCardGroup(...)`-Aufrufe). - **Größe der Box-Karten:** `CARD_SCALE` oben in `generate_box.js` (Standard 0.30) ODER per CLI: `node generate_box.js front 0.26`. Eine Auto-Fit-Sicherung verkleinert den Fächer automatisch, falls er aus dem goldenen Rahmen ragen würde. Weitere Fächer-Regler: `FAN_SPREAD`, `FAN_ARC`, `FAN_TILT`, `FAN_CY`. - **Scorepad-Layout:** voll parametrisierbar per CLI `node generate_scorepad.js [format] [cols] [rows] [players] [margin_in]`. Weniger Cards/Seite = größere, besser lesbare Cards (Schrift skaliert mit). Beispiel gegen zu kleinen Druck: `node generate_scorepad.js letter 1 2 6 0.5` (2 große Cards, 0.5" Rand). Defaults stehen im CONFIG-Block oben im Skript. - **Anleitung:** `make_rules.js`, klar in Abschnitte gegliedert. ## Offene Designfrage (für dich) Im Beispiel B summieren sich die Gebote auf genau die Stichzahl – dann können theoretisch alle treffen. Viele Stichspiele verbieten das ("Screw-the-Dealer"). In der Anleitung ist das als **optionale Variante "Exact Tension" (Abschnitt 8)** eingebaut. Entscheide, ob das deine Standardregel wird.