Categories: None [Edit]

sashite-pan

https://rubygems.org/gems/sashite-pan
https://github.com/sashite/pan.rb
Parse and generate Portable Action Notation (PAN) strings for representing atomic actions in abstract strategy board games including chess, shogi, xiangqi, and others. PAN provides an intuitive operator-based syntax with six core operators: "-" (move to empty square), "+" (capture), "~" (special moves with side effects), "*" (drop to board), "." (drop with capture), and "=" (in-place transformation), plus "..." (pass turn). Supports coordinates via CELL specification and piece identifiers via EPIN specification. Handles transformations ("e7-e8=Q"), enhanced/diminished states ("+R", "-P"), and style derivation markers ("K'"). Provides comprehensive validation, immutable action objects, and functional API design. Examples: "e2-e4" (move), "d1+f3" (capture), "e1~g1" (castling), "P*e5" (drop), "e7-e8=Q" (promotion), "..." (pass), "+d4" (static capture), "e4=+P" (modify).

Total

Ranking: 55,670 of 193,030
Downloads: 20,169

Daily

Ranking: 43,989 of 193,008
Downloads: 5

Depended by

RankDownloadsName
179,7511,937sashite-pcn

Depends on

RankDownloadsName
177,7612,186sashite-epin
178,2232,136sashite-cell

Owners

#GravatarHandle
1iconcyri_