From f5558563ea93ef7428aa220c2e15e3f02711420f Mon Sep 17 00:00:00 2001 From: Thomas Hallock Date: Fri, 31 Oct 2025 17:25:56 -0500 Subject: [PATCH] feat(rithmomachia): enhance Harmony section with comprehensive content MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add detailed formulas, examples, strategies, and quick reference tables to the Harmony guide section: **Content Enhancements:** - Added "How to check" formulas for each progression type (Arithmetic, Geometric, Harmonic) - Added visual examples with mathematical checks for each type - Added strategy tips for each progression type (what pieces work best) - Added detailed rules section with 5 specific rules (Enemy Territory, Straight Line, Adjacent Placement, Survival Rule, Victory) - Added Strategy section with 5 subsections: - Start with 2, Add the Third - Use Common Values - Protect the Line - Block Opponent's Harmonies - Calculate Before You Declare - Added Quick Reference tables showing common harmonies for each type **Visual Design:** - Keep existing visual board examples (cropped) - Color-coded sections: Green (Arithmetic), Yellow (Geometric), Blue (Harmonic) - Example formulas in monospace font - Strategy tips in colored callout boxes **Translations:** - Added 30+ new translation keys to en.json and de.json - Full German translations for all new content This merges the comprehensive old guide content with the new visual board examples, providing both detailed mathematical explanations and interactive visual demonstrations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../guide-sections/HarmonySection.tsx | 508 ++++++++++++++++-- .../rithmomachia/i18n/locales/de.json | 61 ++- .../rithmomachia/i18n/locales/en.json | 142 ++--- 3 files changed, 549 insertions(+), 162 deletions(-) diff --git a/apps/web/src/arcade-games/rithmomachia/components/guide-sections/HarmonySection.tsx b/apps/web/src/arcade-games/rithmomachia/components/guide-sections/HarmonySection.tsx index 81fda0d3..aa1f291e 100644 --- a/apps/web/src/arcade-games/rithmomachia/components/guide-sections/HarmonySection.tsx +++ b/apps/web/src/arcade-games/rithmomachia/components/guide-sections/HarmonySection.tsx @@ -34,16 +34,22 @@ export function HarmonySection({ useNativeAbacusNumbers }: { useNativeAbacusNumb mb: '16px', })} > - {t('guide.harmony.title', 'Harmonies (Progressions)')} + {t('guide.harmony.title', 'Harmonies: The Elegant Victory')} -

+

{t( - 'guide.harmony.description', - 'Get 3 of your pieces into enemy territory forming one of these progressions:' + 'guide.harmony.intro', + 'A Harmony (also called a "Proper Victory") is the most sophisticated way to win. Get 3 of your pieces into enemy territory arranged in a straight line where their values form a mathematical pattern.' + )} +

+

+ {t( + 'guide.harmony.introDetail', + 'Think of it like getting three numbers in a sequence—but the sequences follow special mathematical rules from ancient philosophy and music theory.' )}

-
+
{/* Arithmetic Progression */}

- {t('guide.harmony.arithmetic', 'Arithmetic Progression')} + {t('guide.harmony.arithmetic', '1. Arithmetic Progression (Easiest to Understand)')}

-

- {t('guide.harmony.arithmeticDesc', 'Middle value is the average')} +

+ {t( + 'guide.harmony.arithmeticDesc', + 'The middle number is exactly halfway between the other two. In other words, the differences are equal.' + )}

-

- {t('guide.harmony.arithmeticExample', 'Example: 6, 9, 12 (because 9 = (6+12)/2)')} -

-
+

+ {t('guide.harmony.howToCheck', 'How to check:')} +

+

+ {t('guide.harmony.arithmeticFormula', 'Middle × 2 = First + Last')} +

+ +
+

+ {t('guide.harmony.example', 'Example:')} 6, 9, 12 +

+

+ {t('guide.harmony.differences', 'Differences:')} 9−6=3, 12−9=3{' '} + {t('guide.harmony.equal', '(equal!)')} +

+

{t('guide.harmony.check', 'Check:')} 9×2 = 18 = 6+12 ✓

+
+
+ +
{t( @@ -94,6 +137,23 @@ export function HarmonySection({ useNativeAbacusNumbers }: { useNativeAbacusNumb 'White pieces 6, 9, 12 in a row in enemy territory form an arithmetic progression' )}

+ +
+

+ {t('guide.harmony.strategyTip', 'Strategy tip:')}{' '} + {t( + 'guide.harmony.arithmeticTip', + 'Your small circles (2-9) and many triangles naturally form arithmetic progressions. Look for three pieces where the gaps are equal!' + )} +

+
{/* Geometric Progression */} @@ -106,24 +166,61 @@ export function HarmonySection({ useNativeAbacusNumbers }: { useNativeAbacusNumb })} >

- {t('guide.harmony.geometric', 'Geometric Progression')} + {t('guide.harmony.geometric', '2. Geometric Progression (Powers and Multiples)')}

-

- {t('guide.harmony.geometricDesc', 'Middle value is geometric mean')} +

+ {t( + 'guide.harmony.geometricDesc', + 'Each number is multiplied by the same amount to get the next. The ratios are equal.' + )}

-

- {t('guide.harmony.geometricExample', 'Example: 4, 8, 16 (because 8² = 4×16)')} -

-
+

+ {t('guide.harmony.howToCheck', 'How to check:')} +

+

+ {t('guide.harmony.geometricFormula', 'Middle² = First × Last')} +

+ +
+

+ {t('guide.harmony.example', 'Example:')} 4, 8, 16 +

+

+ {t('guide.harmony.ratios', 'Ratios:')} 8÷4=2, 16÷8=2{' '} + {t('guide.harmony.equal', '(equal!)')} +

+

{t('guide.harmony.check', 'Check:')} 8² = 64 = 4×16 ✓

+
+
+ +
{t( @@ -146,6 +243,23 @@ export function HarmonySection({ useNativeAbacusNumbers }: { useNativeAbacusNumb 'White pieces 4, 8, 16 in a row in enemy territory form a geometric progression' )}

+ +
+

+ {t('guide.harmony.strategyTip', 'Strategy tip:')}{' '} + {t( + 'guide.harmony.geometricTip', + 'Square values (4, 9, 16, 25, 36, 49, 64, 81) work great here! For example, 4-16-64 (squares of 2, 4, 8).' + )} +

+
{/* Harmonic Progression */} @@ -158,24 +272,57 @@ export function HarmonySection({ useNativeAbacusNumbers }: { useNativeAbacusNumb })} >

- {t('guide.harmony.harmonic', 'Harmonic Progression')} + {t('guide.harmony.harmonic', '3. Harmonic Progression (Music-Based, Trickiest)')}

-

- {t('guide.harmony.harmonicDesc', 'Special proportion (formula: 2AB = M(A+B))')} +

+ {t( + 'guide.harmony.harmonicDesc', + 'Named after musical harmonies. The pattern is: the ratio of the outer numbers equals the ratio of their differences from the middle.' + )}

-

- {t('guide.harmony.harmonicExample', 'Example: 6, 8, 12 (because 2×6×12 = 8×(6+12))')} -

-
+

+ {t('guide.harmony.howToCheck', 'How to check:')} +

+

+ {t('guide.harmony.harmonicFormula', '2 × First × Last = Middle × (First + Last)')} +

+ +
+

+ {t('guide.harmony.example', 'Example:')} 6, 8, 12 +

+

{t('guide.harmony.check', 'Check:')} 2×6×12 = 144 = 8×(6+12) = 8×18 ✓

+
+
+ +
{t( @@ -198,9 +345,27 @@ export function HarmonySection({ useNativeAbacusNumbers }: { useNativeAbacusNumb 'White pieces 6, 8, 12 in a row in enemy territory form a harmonic progression' )}

+ +
+

+ {t('guide.harmony.strategyTip', 'Strategy tip:')}{' '} + {t( + 'guide.harmony.harmonicTip', + 'Harmonic progressions are rarer. Memorize common triads: (3,4,6), (4,6,12), (6,8,12), (6,10,15), (8,12,24).' + )} +

+
+ {/* Rules Section */}
-

- {t('guide.harmony.rulesTitle', '⚠️ Important Rules')} +

+ {t('guide.harmony.rulesTitle', '⚠️ Harmony Rules You Must Follow')}

  • + {t('guide.harmony.enemyTerritoryTitle', 'Enemy Territory Only:')}{' '} {t( - 'guide.harmony.rule1', - 'Your 3 pieces must be in a straight line (row, column, or diagonal)' + 'guide.harmony.enemyTerritory', + "All 3 pieces must be in your opponent's half (White needs rows 5-8, Black needs rows 1-4)" )}
  • -
  • {t('guide.harmony.rule2', 'All 3 must be in enemy territory')}
  • + {t('guide.harmony.straightLineTitle', 'Straight Line:')}{' '} {t( - 'guide.harmony.rule3', - 'When you form a harmony, your opponent gets one turn to break it' + 'guide.harmony.straightLine', + 'The 3 pieces must form a row, column, or diagonal—no scattered formations' + )} +
  • +
  • + {t('guide.harmony.adjacentTitle', 'Adjacent Placement:')}{' '} + {t( + 'guide.harmony.adjacent', + 'In this implementation, the 3 pieces must be next to each other (no gaps)' + )} +
  • +
  • + {t('guide.harmony.survivalTitle', 'Survival Rule:')}{' '} + {t( + 'guide.harmony.survival', + 'When you declare a harmony, your opponent gets ONE turn to break it by capturing or moving a piece' + )} +
  • +
  • + {t('guide.harmony.victoryTitle', 'Victory:')}{' '} + {t( + 'guide.harmony.victoryRule', + 'If your harmony survives until your next turn starts—you win!' )}
  • -
  • {t('guide.harmony.rule4', 'If it survives, you win!')}
+ + {/* Strategy Section */} +
+

+ {t('guide.harmony.strategyTitle', 'Strategy: How to Build Harmonies')} +

+ +
+ {/* Start with 2, Add the Third */} +
+

+ {t('guide.harmony.startWith2Title', 'Start with 2, Add the Third')} +

+

+ {t( + 'guide.harmony.startWith2', + "Get two pieces into enemy territory first. Calculate which third piece would complete a progression, then advance that piece. Your opponent may not notice the threat until it's too late!" + )} +

+
+ + {/* Use Common Values */} +
+

+ {t('guide.harmony.useCommonTitle', 'Use Common Values')} +

+

+ {t( + 'guide.harmony.useCommon', + 'Pieces like 6, 8, 9, 12, 16 appear in multiple progressions. If you have these in enemy territory, calculate all possible third pieces that would complete a pattern.' + )} +

+
+ + {/* Protect the Line */} +
+

+ {t('guide.harmony.protectTitle', 'Protect the Line')} +

+

+ {t( + 'guide.harmony.protect', + 'While building your harmony, position other pieces to defend your advancing pieces. One capture breaks the progression!' + )} +

+
+ + {/* Block Opponent's Harmonies */} +
+

+ {t('guide.harmony.blockTitle', "Block Opponent's Harmonies")} +

+

+ {t( + 'guide.harmony.block', + 'If your opponent has 2 pieces in your territory forming part of a progression, identify which third piece would complete it. Block that square or capture one of the two pieces immediately.' + )} +

+
+ + {/* Calculate Before You Declare */} +
+

+ {t('guide.harmony.calculateTitle', 'Calculate Before You Declare')} +

+

+ {t( + 'guide.harmony.calculate', + 'Before declaring harmony, examine if your opponent can capture any of the 3 pieces on their turn. If they can, either protect those pieces first or wait for a safer moment.' + )} +

+
+
+
+ + {/* Quick Reference Tables */} +
+

+ {t('guide.harmony.quickRefTitle', '💡 Quick Reference: Common Harmonies in Your Army')} +

+ +
+ {/* Arithmetic Table */} +
+

+ {t('guide.harmony.arithmetic', 'Arithmetic')} +

+
    +
  • (4, 6, 8)
  • +
  • (5, 7, 9)
  • +
  • (6, 9, 12)
  • +
  • (8, 12, 16)
  • +
  • (10, 15, 20)
  • +
+
+ + {/* Geometric Table */} +
+

+ {t('guide.harmony.geometric', 'Geometric')} +

+
    +
  • (2, 8, 32)
  • +
  • (3, 9, 27)
  • +
  • (4, 8, 16)
  • +
  • (4, 16, 64)
  • +
  • (5, 25, 125)
  • +
+
+ + {/* Harmonic Table */} +
+

+ {t('guide.harmony.harmonic', 'Harmonic')} +

+
    +
  • (3, 4, 6)
  • +
  • (4, 6, 12)
  • +
  • (6, 8, 12)
  • +
  • (6, 10, 15)
  • +
  • (8, 12, 24)
  • +
+
+
+
) } diff --git a/apps/web/src/arcade-games/rithmomachia/i18n/locales/de.json b/apps/web/src/arcade-games/rithmomachia/i18n/locales/de.json index a1fa2de2..c6366123 100644 --- a/apps/web/src/arcade-games/rithmomachia/i18n/locales/de.json +++ b/apps/web/src/arcade-games/rithmomachia/i18n/locales/de.json @@ -76,25 +76,54 @@ "helpersDescription": "Helfer sind Ihre anderen Steine, die noch auf dem Brett sind. Sie bleiben, wo sie sind, und stellen nur ihren Wert für die Mathematik zur Verfügung. Das Spiel zeigt Ihnen gültige Schlagzüge, wenn Sie einen Stein auswählen." }, "harmony": { - "title": "Harmonien (Progressionen)", - "description": "Bringen Sie 3 Ihrer Steine ins gegnerische Gebiet und bilden Sie eine dieser Progressionen:", - "arithmetic": "Arithmetische Progression", - "arithmeticDesc": "Mittlerer Wert ist der Durchschnitt", - "arithmeticExample": "Beispiel: 6, 9, 12 (weil 9 = (6+12)/2)", + "title": "Harmonien: Der elegante Sieg", + "intro": "Eine Harmonie (auch \"korrekter Sieg\" genannt) ist die anspruchsvollste Art zu gewinnen. Bringen Sie 3 Ihrer Steine ins gegnerische Gebiet in einer geraden Linie, wobei ihre Werte ein mathematisches Muster bilden.", + "introDetail": "Denken Sie daran wie an eine Zahlenfolge – aber die Folgen befolgen besondere mathematische Regeln aus antiker Philosophie und Musiktheorie.", + "arithmetic": "1. Arithmetische Progression (Am leichtesten zu verstehen)", + "arithmeticDesc": "Die mittlere Zahl liegt genau in der Mitte zwischen den anderen beiden. Mit anderen Worten, die Differenzen sind gleich.", + "arithmeticFormula": "Mitte × 2 = Erste + Letzte", + "arithmeticTip": "Ihre kleinen Kreise (2-9) und viele Dreiecke bilden natürlich arithmetische Progressionen. Suchen Sie nach drei Steinen, bei denen die Abstände gleich sind!", "arithmeticCaption": "Weiße Steine 6, 9, 12 in einer Reihe im gegnerischen Gebiet bilden eine arithmetische Progression", - "geometric": "Geometrische Progression", - "geometricDesc": "Mittlerer Wert ist das geometrische Mittel", - "geometricExample": "Beispiel: 4, 8, 16 (weil 8² = 4×16)", + "geometric": "2. Geometrische Progression (Potenzen und Vielfache)", + "geometricDesc": "Jede Zahl wird mit demselben Betrag multipliziert, um die nächste zu erhalten. Die Verhältnisse sind gleich.", + "geometricFormula": "Mitte² = Erste × Letzte", + "geometricTip": "Quadratwerte (4, 9, 16, 25, 36, 49, 64, 81) funktionieren hier großartig! Zum Beispiel 4-16-64 (Quadrate von 2, 4, 8).", "geometricCaption": "Weiße Steine 4, 8, 16 in einer Reihe im gegnerischen Gebiet bilden eine geometrische Progression", - "harmonic": "Harmonische Progression", - "harmonicDesc": "Spezielle Proportion (Formel: 2AB = M(A+B))", - "harmonicExample": "Beispiel: 6, 8, 12 (weil 2×6×12 = 8×(6+12))", + "harmonic": "3. Harmonische Progression (Musikbasiert, am schwierigsten)", + "harmonicDesc": "Benannt nach musikalischen Harmonien. Das Muster ist: das Verhältnis der äußeren Zahlen entspricht dem Verhältnis ihrer Differenzen zur Mitte.", + "harmonicFormula": "2 × Erste × Letzte = Mitte × (Erste + Letzte)", + "harmonicTip": "Harmonische Progressionen sind seltener. Merken Sie sich häufige Triaden: (3,4,6), (4,6,12), (6,8,12), (6,10,15), (8,12,24).", "harmonicCaption": "Weiße Steine 6, 8, 12 in einer Reihe im gegnerischen Gebiet bilden eine harmonische Progression", - "rulesTitle": "⚠️ Wichtige Regeln", - "rule1": "Ihre 3 Steine müssen in einer geraden Linie stehen (Reihe, Spalte oder Diagonale)", - "rule2": "Alle 3 müssen im gegnerischen Gebiet sein", - "rule3": "Wenn Sie eine Harmonie bilden, hat Ihr Gegner einen Zug, um sie zu zerstören", - "rule4": "Wenn sie übersteht, gewinnen Sie!" + "howToCheck": "Prüfung:", + "example": "Beispiel:", + "check": "Prüfung:", + "differences": "Differenzen:", + "equal": "(gleich!)", + "ratios": "Verhältnisse:", + "strategyTip": "Strategietipp:", + "rulesTitle": "⚠️ Harmonie-Regeln, die Sie befolgen müssen", + "enemyTerritoryTitle": "Nur gegnerisches Gebiet:", + "enemyTerritory": "Alle 3 Steine müssen in der Hälfte des Gegners sein (Weiß braucht Reihen 5-8, Schwarz braucht Reihen 1-4)", + "straightLineTitle": "Gerade Linie:", + "straightLine": "Die 3 Steine müssen eine Reihe, Spalte oder Diagonale bilden – keine verstreuten Formationen", + "adjacentTitle": "Angrenzende Platzierung:", + "adjacent": "In dieser Implementierung müssen die 3 Steine nebeneinander stehen (keine Lücken)", + "survivalTitle": "Überlebensregel:", + "survival": "Wenn Sie eine Harmonie deklarieren, hat Ihr Gegner EINEN Zug, um sie zu brechen, indem er einen Stein schlägt oder bewegt", + "victoryTitle": "Sieg:", + "victoryRule": "Wenn Ihre Harmonie übersteht, bis Ihr nächster Zug beginnt – gewinnen Sie!", + "strategyTitle": "Strategie: Wie man Harmonien aufbaut", + "startWith2Title": "Beginnen Sie mit 2, fügen Sie den Dritten hinzu", + "startWith2": "Bringen Sie zuerst zwei Steine ins gegnerische Gebiet. Berechnen Sie, welcher dritte Stein eine Progression vervollständigen würde, und rücken Sie dann diesen Stein vor. Ihr Gegner bemerkt die Bedrohung vielleicht nicht, bis es zu spät ist!", + "useCommonTitle": "Verwenden Sie häufige Werte", + "useCommon": "Steine wie 6, 8, 9, 12, 16 erscheinen in mehreren Progressionen. Wenn Sie diese im gegnerischen Gebiet haben, berechnen Sie alle möglichen dritten Steine, die ein Muster vervollständigen würden.", + "protectTitle": "Schützen Sie die Linie", + "protect": "Während Sie Ihre Harmonie aufbauen, positionieren Sie andere Steine, um Ihre vorrückenden Steine zu verteidigen. Eine Schlagung bricht die Progression!", + "blockTitle": "Blockieren Sie gegnerische Harmonien", + "block": "Wenn Ihr Gegner 2 Steine in Ihrem Gebiet hat, die Teil einer Progression bilden, identifizieren Sie, welcher dritte Stein sie vervollständigen würde. Blockieren Sie dieses Feld oder schlagen Sie sofort einen der beiden Steine.", + "calculateTitle": "Berechnen Sie vor der Deklaration", + "calculate": "Bevor Sie eine Harmonie deklarieren, prüfen Sie, ob Ihr Gegner einen der 3 Steine in seinem Zug schlagen kann. Wenn ja, schützen Sie diese Steine zuerst oder warten Sie auf einen sichereren Moment.", + "quickRefTitle": "💡 Schnellreferenz: Häufige Harmonien in Ihrer Armee" }, "victory": { "title": "Wie man gewinnt", diff --git a/apps/web/src/arcade-games/rithmomachia/i18n/locales/en.json b/apps/web/src/arcade-games/rithmomachia/i18n/locales/en.json index 33e64207..15eab98e 100644 --- a/apps/web/src/arcade-games/rithmomachia/i18n/locales/en.json +++ b/apps/web/src/arcade-games/rithmomachia/i18n/locales/en.json @@ -180,86 +180,54 @@ "pyramidEx3Note": "Face selection: Black chooses face 36 → 36 ÷ 9 = 4 (multiple) → Capture succeeds! Note: Black could also use face 4 with a helper 5 for sum (4 + 5 = 9), showing multiple valid approaches." }, "harmony": { - "title": "Harmonies (Progressions)", - "description": "Get 3 of your pieces into enemy territory forming one of these progressions:", - "intro1": "A Harmony (also called a \"Proper Victory\") is the most sophisticated way to win. Get 3 of your pieces into enemy territory arranged in a straight line where their values form a mathematical pattern.", - "intro2": "Think of it like getting three numbers in a sequence—but the sequences follow special mathematical rules from ancient philosophy and music theory.", - "typesTitle": "The Three Types of Harmony", - "arithmetic": "Arithmetic Progression", - "arithmeticDesc": "Middle value is the average", - "arithmeticExample": "Example: 6, 9, 12 (because 9 = (6+12)/2)", + "title": "Harmonies: The Elegant Victory", + "intro": "A Harmony (also called a \"Proper Victory\") is the most sophisticated way to win. Get 3 of your pieces into enemy territory arranged in a straight line where their values form a mathematical pattern.", + "introDetail": "Think of it like getting three numbers in a sequence—but the sequences follow special mathematical rules from ancient philosophy and music theory.", + "arithmetic": "1. Arithmetic Progression (Easiest to Understand)", + "arithmeticDesc": "The middle number is exactly halfway between the other two. In other words, the differences are equal.", + "arithmeticFormula": "Middle × 2 = First + Last", + "arithmeticTip": "Your small circles (2-9) and many triangles naturally form arithmetic progressions. Look for three pieces where the gaps are equal!", "arithmeticCaption": "White pieces 6, 9, 12 in a row in enemy territory form an arithmetic progression", - "geometric": "Geometric Progression", - "geometricDesc": "Middle value is geometric mean", - "geometricExample": "Example: 4, 8, 16 (because 8² = 4×16)", + "geometric": "2. Geometric Progression (Powers and Multiples)", + "geometricDesc": "Each number is multiplied by the same amount to get the next. The ratios are equal.", + "geometricFormula": "Middle² = First × Last", + "geometricTip": "Square values (4, 9, 16, 25, 36, 49, 64, 81) work great here! For example, 4-16-64 (squares of 2, 4, 8).", "geometricCaption": "White pieces 4, 8, 16 in a row in enemy territory form a geometric progression", - "harmonic": "Harmonic Progression", - "harmonicDesc": "Special proportion (formula: 2AB = M(A+B))", - "harmonicExample": "Example: 6, 8, 12 (because 2×6×12 = 8×(6+12))", + "harmonic": "3. Harmonic Progression (Music-Based, Trickiest)", + "harmonicDesc": "Named after musical harmonies. The pattern is: the ratio of the outer numbers equals the ratio of their differences from the middle.", + "harmonicFormula": "2 × First × Last = Middle × (First + Last)", + "harmonicTip": "Harmonic progressions are rarer. Memorize common triads: (3,4,6), (4,6,12), (6,8,12), (6,10,15), (8,12,24).", "harmonicCaption": "White pieces 6, 8, 12 in a row in enemy territory form a harmonic progression", - "rulesTitle": "⚠️ Important Rules", - "rule1": "Your 3 pieces must be in a straight line (row, column, or diagonal)", - "rule2": "All 3 must be in enemy territory", - "rule3": "When you form a harmony, your opponent gets one turn to break it", - "rule4": "If it survives, you win!", - "arithmeticOld": { - "title": "1. Arithmetic Progression (Easiest to Understand)", - "desc": "The middle number is exactly halfway between the other two. In other words, the differences are equal.", - "formula": "How to check: Middle × 2 = First + Last", - "ex1": "Example 1: 6, 9, 12", - "ex1Check": "Differences: 9−6=3, 12−9=3 (equal!) • Check: 9×2 = 18 = 6+12 ✓", - "ex2": "Example 2: 5, 7, 9", - "ex2Check": "Differences: 7−5=2, 9−7=2 • Check: 7×2 = 14 = 5+9 ✓", - "ex3": "Example 3: 8, 12, 16", - "ex3Check": "Differences: 12−8=4, 16−12=4 • Check: 12×2 = 24 = 8+16 ✓", - "tip": "Strategy tip: Your small circles (2-9) and many triangles naturally form arithmetic progressions. Look for three pieces where the gaps are equal!" - }, - "geometricOld": { - "title": "2. Geometric Progression (Powers and Multiples)", - "desc": "Each number is multiplied by the same amount to get the next. The ratios are equal.", - "formula": "How to check: Middle² = First × Last", - "ex1": "Example 1: 4, 8, 16", - "ex1Check": "Ratios: 8÷4=2, 16÷8=2 (equal!) • Check: 8² = 64 = 4×16 ✓", - "ex2": "Example 2: 3, 9, 27", - "ex2Check": "Ratios: 9÷3=3, 27÷9=3 • Check: 9² = 81 = 3×27 ✓", - "ex3": "Example 3: 2, 8, 32", - "ex3Check": "Ratios: 8÷2=4, 32÷8=4 • Check: 8² = 64 = 2×32 ✓", - "tip": "Strategy tip: Square values (4, 9, 16, 25, 36, 49, 64, 81) work great here! For example, 4-16-64 (squares of 2, 4, 8)." - }, - "harmonicOld": { - "title": "3. Harmonic Progression (Music-Based, Trickiest)", - "desc": "Named after musical harmonies. The pattern is: the ratio of the outer numbers equals the ratio of their differences from the middle.", - "formula": "How to check: 2 × First × Last = Middle × (First + Last)", - "ex1": "Example 1: 6, 8, 12", - "ex1Check": "Check: 2×6×12 = 144 = 8×(6+12) = 8×18 ✓", - "ex2": "Example 2: 10, 12, 15", - "ex2Check": "Check: 2×10×15 = 300 = 12×(10+15) = 12×25 ✓", - "ex3": "Example 3: 6, 10, 15", - "ex3Check": "Check: 2×6×15 = 180 = 10×(6+15) = 10×18 ✓", - "tip": "Strategy tip: Harmonic progressions are rarer. Memorize common triads: (3,4,6), (4,6,12), (6,8,12), (6,10,15), (8,12,24)." - }, - "rulesOld": [ - "Enemy Territory Only: All 3 pieces must be in your opponent's half (White needs rows 5-8, Black needs rows 1-4)", - "Straight Line: The 3 pieces must form a row, column, or diagonal—no scattered formations", - "Adjacent Placement: In this implementation, the 3 pieces must be next to each other (no gaps)", - "Survival Rule: When you declare a harmony, your opponent gets ONE turn to break it by capturing or moving a piece", - "Victory: If your harmony survives until your next turn starts—you win!" - ], + "howToCheck": "How to check:", + "example": "Example:", + "check": "Check:", + "differences": "Differences:", + "equal": "(equal!)", + "ratios": "Ratios:", + "strategyTip": "Strategy tip:", + "rulesTitle": "⚠️ Harmony Rules You Must Follow", + "enemyTerritoryTitle": "Enemy Territory Only:", + "enemyTerritory": "All 3 pieces must be in your opponent's half (White needs rows 5-8, Black needs rows 1-4)", + "straightLineTitle": "Straight Line:", + "straightLine": "The 3 pieces must form a row, column, or diagonal—no scattered formations", + "adjacentTitle": "Adjacent Placement:", + "adjacent": "In this implementation, the 3 pieces must be next to each other (no gaps)", + "survivalTitle": "Survival Rule:", + "survival": "When you declare a harmony, your opponent gets ONE turn to break it by capturing or moving a piece", + "victoryTitle": "Victory:", + "victoryRule": "If your harmony survives until your next turn starts—you win!", "strategyTitle": "Strategy: How to Build Harmonies", - "strategy1Title": "Start with 2, Add the Third", - "strategy1Desc": "Get two pieces into enemy territory first. Calculate which third piece would complete a progression, then advance that piece. Your opponent may not notice the threat until it's too late!", - "strategy2Title": "Use Common Values", - "strategy2Desc": "Pieces like 6, 8, 9, 12, 16 appear in multiple progressions. If you have these in enemy territory, calculate all possible third pieces that would complete a pattern.", - "strategy3Title": "Protect the Line", - "strategy3Desc": "While building your harmony, position other pieces to defend your advancing pieces. One capture breaks the progression!", - "strategy4Title": "Block Opponent's Harmonies", - "strategy4Desc": "If your opponent has 2 pieces in your territory forming part of a progression, identify which third piece would complete it. Block that square or capture one of the two pieces immediately.", - "strategy5Title": "Calculate Before You Declare", - "strategy5Desc": "Before declaring harmony, examine if your opponent can capture any of the 3 pieces on their turn. If they can, either protect those pieces first or wait for a safer moment.", - "quickRefTitle": "💡 Quick Reference: Common Harmonies in Your Army", - "exampleTitle": "Example: Arithmetic Progression Victory", - "exampleDesc": "White has formed 6, 9, 12 in a row in Black's territory (rows 5-8). Since 9 = (6+12)/2, this is an arithmetic progression. If it survives Black's next turn, White wins!", - "exampleNote": "The highlighted pieces form the winning progression in enemy territory" + "startWith2Title": "Start with 2, Add the Third", + "startWith2": "Get two pieces into enemy territory first. Calculate which third piece would complete a progression, then advance that piece. Your opponent may not notice the threat until it's too late!", + "useCommonTitle": "Use Common Values", + "useCommon": "Pieces like 6, 8, 9, 12, 16 appear in multiple progressions. If you have these in enemy territory, calculate all possible third pieces that would complete a pattern.", + "protectTitle": "Protect the Line", + "protect": "While building your harmony, position other pieces to defend your advancing pieces. One capture breaks the progression!", + "blockTitle": "Block Opponent's Harmonies", + "block": "If your opponent has 2 pieces in your territory forming part of a progression, identify which third piece would complete it. Block that square or capture one of the two pieces immediately.", + "calculateTitle": "Calculate Before You Declare", + "calculate": "Before declaring harmony, examine if your opponent can capture any of the 3 pieces on their turn. If they can, either protect those pieces first or wait for a safer moment.", + "quickRefTitle": "💡 Quick Reference: Common Harmonies in Your Army" }, "victory": { "title": "How to Win", @@ -275,27 +243,7 @@ "tip2": "Small pieces are fast — circles (3, 5, 7, 9) can slip into enemy half quickly", "tip3": "Large pieces are powerful — harder to capture due to their size", "tip4": "Watch for harmony threats — don't let opponent get 3 pieces deep in your territory", - "tip5": "Pyramids are flexible — choose the right face value for each situation", - "harmonyOld": { - "title": "Victory #1: Harmony (Progression)", - "desc": "Form a mathematical progression with 3 pieces in enemy territory. If it survives your opponent's next turn, you win!", - "note": "This is the primary victory condition in Rithmomachia" - }, - "exhaustionOld": { - "title": "Victory #2: Exhaustion", - "desc": "If your opponent has no legal moves at the start of their turn, they lose." - }, - "exampleTitle": "Visual Example: Winning by Harmony", - "exampleDesc": "White's pieces at E6, F6, G6 form 6, 9, 12 - an arithmetic progression in Black's territory. If Black cannot break this on their next turn, White wins!", - "exampleNote": "✓ All 3 highlighted pieces are in enemy territory (rows 5-8 for White)\n✓ They form a straight line (horizontal row 6)\n✓ They satisfy arithmetic progression: 9 = (6+12)/2", - "tipsTitle": "Quick Strategy Tips", - "tips": [ - "Control the center — easier to invade enemy territory", - "Small pieces are fast — circles (3, 5, 7, 9) can slip into enemy half quickly", - "Large pieces are powerful — harder to capture due to their size", - "Watch for harmony threats — don't let opponent get 3 pieces deep in your territory", - "Pyramids are flexible — choose the right face value for each situation" - ] + "tip5": "Pyramids are flexible — choose the right face value for each situation" }, "strategy": { "title": "Strategy & Tactics",