HiddenMate
覆面駒、および駒種を指定した透明駒を使用する協力詰・協力自玉詰を検討するソフトウェアです。駒種も不明な通常の透明駒機能は現在開発中です。
Web版: HiddenMateを開く
高速な通常協力詰エンジン fmrs を基盤にしています。確定した通常局面の合法手生成は fmrs_core に任せ、HiddenMate は「ここまでの手順と矛盾しない具体局面の集合」を管理します。
問題と局面は利用者のブラウザ内で処理され、外部サーバーへ送信されません。インストールせずにそのまま利用できます。
- Web版を開きます。
- 入力済みのサンプルを変更せず「検討」を押します。
- 初形候補世界、覆面駒の候補駒種、解答が表示されます。
「透明駒(駒種指定)」では、攻方・受方ごとに透明駒の駒種と枚数を指定します。位置は盤上または所属側の駒台から推論され、透明駒の着手はX、可視駒を取る着手は76Xのように表示されます。現在は合計2枚までです。フォームの初期局面は双玉を盤上に置き、残りの全駒を受方持駒にした駒箱なしの状態です。
現在は、覆面駒と「透明駒(駒種指定)」を使用した協力詰・協力自玉詰の検討に対応しています。位置と駒種の両方が不明な通常の透明駒は開発中です。
Rust環境で次を実行します。
cd rust
cargo run -p hiddenmate_cli -- ../examples/variable-help-selfmate.json
cargo run -p hiddenmate_cli -- ../examples/known-invisible-helpmate.json出力例:
初形候補世界: 650
V1: {Pawn, Lance, Knight, Silver, Gold, Bishop, Rook, King, ProPawn, ProLance, ProKnight, ProSilver, ProBishop, ProRook}
V2: {Pawn, Lance, Knight, Silver, Gold, Bishop, Rook, King, ProPawn, ProLance, ProKnight, ProSilver, ProBishop, ProRook}
V3: {Pawn, Lance, Knight, Silver, Gold, Bishop, Rook, King, ProPawn, ProLance, ProKnight, ProSilver, ProBishop, ProRook}
V4: {Pawn, Lance, Knight, Silver, Gold, Bishop, Rook, King, ProPawn, ProLance, ProKnight, ProSilver, ProBishop, ProRook}
解数: 2
1: 15▲(26) 34玉(33) 16▲(15) 同△(56)
2: 35▲(26) 34△(56) 24龍(35) 同△(34)
問題形式は design/problem-format.md を参照してください。
cd rust
cargo test --workspace --no-fail-fast
cargo clippy --all-targets --all-featuresWeb版:
corepack enable
pnpm install --frozen-lockfile
pnpm test
pnpm run serve設計は design/architecture.md、公開方法は DEPLOYMENT.md に記載しています。
不具合等は GitHub Issues へお寄せください。再現に使った問題JSONを添えていただけると調査しやすくなります。
HiddenMateは fmrs を基にした派生ソフトウェアです。fmrsはKeigo Oka氏によりMIT Licenseで提供されています。本リポジトリではfmrsの著作権表示とMIT License本文を保持し、HiddenMateで追加した変更部分もMIT Licenseで提供します。
ライセンス本文は LICENSE、fmrsおよび利用している第三者ソフトウェアの帰属とライセンスは THIRD_PARTY_NOTICES.md を参照してください。Web版の配布物にも、これらの文書と主要なランタイム依存ライブラリのライセンス本文を同梱しています。
