https://github.com/na2hiro/Kifu-for-JS/tree/master/packages/shogi.js
将棋の盤駒をモデルとするシンプルなJavaScriptライブラリ.TypeScript.
npm install shogi.js
- 最低限の将棋の法則に従って操作ができる.
- 局面を平手に並べることができる.
- 駒を移動(move)すると,移動先の駒を取れる.
- 駒を打つ(drop)ことができる.
- 動作を戻すことができる.
- モード(editMode)
- 通常(false)
- 手番,動きを守っているかどうかをチェック
- 二歩検査
- 手番を管理
- 編集(true):
- 手番や動きをチェックしない
- 手番を変更する
- 盤上の駒を駒台に載せる
- 盤上の駒を裏返し・反転させる
- 通常(false)
通常モードは棋譜再生および対局を,編集モードは盤面編集をモデル化するものである.
TypeDoc ドキュメンテーション を参照のこと。
また,test
ディレクトリ以下のテストで実際の挙動を確認されたい.
https://github.com/na2hiro/Shogi.js/issues
$ nvm i && nvm use && npm install
上記コマンドを実行することで開発に必要なパッケージをインストールできます.
- TypeScript
- Webpack (バンドルツール)
- Jest (テストフレームワーク,カバレッジ計測)
- TSLint (Linter)
$ npm run build
$ npm run build:watch
ビルドが走ります.build:watch
の場合,変更されるたびにビルドが走ります.
$ npm run test:watch
コンソールでテスト結果が表示されます.コードの変更が保存されるたびに必要なテストが再実行されるため,実装が既存の有効なテストを壊してないか簡単に確認できます.
$ npm run test
全てのテストが走るとともにカバレッジレポートが表示されます.coverage/lcov-report/index.html
では,行ごとのカバレッジを確認できます.追加されたコードのブランチカバレッジが100%になるようにしてください.push時にチェックされ満たしていなければ却下されるはずです.
$ npm run lint
コードの品質が検査されます.エラーがあればそれに従い直してください.push前にもチェックされます.
$ npm run lint:fix
自動的に修正可能な問題(インデント等)を直してくれます.
$ npm run docs
docs/
以下にドキュメントを生成します.
MIT License (see LICENSE.txt)