Skip to content

Add Suu Kantsu (Four Kans) yakuman#14

Merged
rysb-dev merged 2 commits intomainfrom
fix-suukantsu
Feb 5, 2026
Merged

Add Suu Kantsu (Four Kans) yakuman#14
rysb-dev merged 2 commits intomainfrom
fix-suukantsu

Conversation

@rysb-dev
Copy link
Copy Markdown
Owner

@rysb-dev rysb-dev commented Feb 5, 2026

Summary

Adds the missing Suu Kantsu (四槓子, Four Kans) yakuman to agari-core.

This yakuman was discovered to be missing during localization work - the translations existed but the actual yaku was never implemented!

Changes

agari-core (yaku.rs)

  • Add SuuKantsu variant to Yaku enum
  • Add to han(): returns 13 (yakuman)
  • Add to han_open(): returns Some(13) - valid with open kans
  • Add to is_yakuman(): returns true
  • Add detection logic in detect_yaku_with_context(): checks for 4 kans

agari-core (main.rs)

  • Add CLI yaku name: "Suu Kantsu (Four Kans)"

agari-wasm (lib.rs)

  • Add WASM yaku name: "Suu Kantsu"

web (i18n)

  • Add mapping for "Suu Kantsu" -> yakuSuuKantsu
  • Translations already existed (EN: "Suu Kantsu (Four Kans)", JA: "四槓子")

Tests

  • test_suu_kantsu: 4 closed kans → yakuman ✓
  • test_suu_kantsu_open: mixed open/closed kans → yakuman ✓
  • test_san_kantsu_not_suu_kantsu: 3 kans → San Kantsu (2 han), not Suu Kantsu ✓

All 232 agari tests + 27 agari-wasm tests pass.

- Add SuuKantsu variant to Yaku enum as a yakuman (13 han)
- Add detection logic: checks for 4 kans in the hand
- SuuKantsu can be achieved with open kans (valid when open)
- Add yaku_name() entries in WASM and CLI
- Add i18n mapping for web frontend (translations already existed)
- Add comprehensive tests:
  - test_suu_kantsu: 4 closed kans
  - test_suu_kantsu_open: mixed open/closed kans
  - test_san_kantsu_not_suu_kantsu: verify 3 kans gives San Kantsu, not Suu Kantsu

Fixes missing yakuman that was discovered during localization work.
@rysb-dev rysb-dev self-assigned this Feb 5, 2026
@rysb-dev rysb-dev merged commit ea80b3f into main Feb 5, 2026
8 checks passed
@rysb-dev rysb-dev deleted the fix-suukantsu branch February 5, 2026 00: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