本文へ移動

Narabe並べ

48種類の盤上ゲームを、新しい局面を返す手の操作、合法手の一覧、再生できる棋譜で扱えます。

「並べ」は五目並べの「並べ」。石を並べることを表す言葉です。 名前について(英語)

目次

解説

局面とデータによるルール

1つの局面の値とデータによる種類の定義が48種類のゲームを扱う仕組みと、席と色の違いを説明します。

局面を1つの値にする

GameStateには設定、盤、棋譜、手番、席、取った石、開始方式、回転待ち、キング、連続取り、コウ、勝敗があります。操作で変化すると新しい値が返ります。その値を保存し、盤の配列だけを変更して手を再現しません。取り、勝敗、履歴を飛ばしてしまうためです。

種類が仕組みを選ぶ

VARIANT_SPECSに並び、禁じ手、取り、手番、配置、盤、キュー、陣地、接続、ドラフツ、囲碁の仕組みがあります。設定はそのデータに合わせます。表示側で48個のエンジンを持たず、基本APIが仕組みを組み合わせます。ゲーム一覧に全種類があります。

席と色は別

交換する開始方式では、席と色の対応が変わります。黒を常に1人目とせず、seatOfとseatToPlayを使います。色の選択と着手は別の履歴です。ハンディキャップによって色の交換や開始方式が制限されます。

受け渡しとルールを分ける

MoveInputは外部の棋譜の形で、Moveは取りなどの効果を含めたエンジンの形です。形を読み取った後、再生で合法な順序を確認します。DOM、React、SVGも同じ基本の局面を使います。棋譜と局面のAPIを参照してください。

ソースを見るGitHub で編集@johnmorrisdotca/narabe 1.3.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。