電脳麻将 ver.2.0.0 公開

電脳麻将ver.2.0.0 にバージョンアップしました。

電脳麻将改造中 - koba::blog で開発開始を告知してから1年半、本来は目玉の新機能になるはずだった麻雀サーバーの実装は先送りになってしまいましたが、とにかくリリースにはこぎつけました。

新機能

ルールのカスタマイズ

プリセットされている 電脳麻将ルールMリーグルールClassicルール を切り替えるだけでなく、それぞれのルールをカスタマイズして適用できるようにしました。

UIの向上

  • キーボードのみの打牌操作ができるようになりました
  • 天鳳の牌譜読み込みのUIを追加しました
  • 卓の色を緑に変更しました

スマートフォン対応

  • iPhone SE 以外の横長の画面のスマートフォンにも対応しました
  • タッチデバイスでも 選択→確定 の2段階で操作できるようにしました
  • スマートフォンからも牌譜をダウンロードできるようにしました

プログラム構成

サブパッケージ

以下のサブパッケージに機能を分割しました。

majiang-core
GitHub
https://github.com/kobalab/majiang-core
npm
@kobalab/majiang-core

手牌の操作、シャンテン数・和了点計算、局進行・卓情報の管理、思考ルーチンの雛形を含む基本クラス群です。

majiang-ai
GitHub
https://github.com/kobalab/majiang-ai
npm
@kobalab/majiang-ai

麻雀AIとその開発ツールです。
AIは majiang-core のクラス Majiang.Player の具体的な実装になっています。

majiang-ui
GitHub
https://github.com/kobalab/majiang-ui
npm
@kobalab/majiang-ui

手牌表示、盤面表示、牌譜再生 など画面表示やユーザとのインタラクションを実現するクラス群です。

関連パッケージ

そのほかに以下の関連パッケージがあります。

majiang-analog
GitHub
https://github.com/kobalab/majiang-analog
npm
@kobalab/majiang-analog

牌譜解析ツールです。電脳麻将形式の牌譜を解析する基底クラスを提供します。本クラスのサブクラスを作成し、解析のためのプログラムを書くことができます。

tenhou-log
GitHub
https://github.com/kobalab/tenhou-log
npm
@kobalab/tenhou-log

ネット麻雀 天鳳 の牌譜を電脳麻将形式に変換します。本パッケージを利用することで天鳳の牌譜を解析したり、再生したりすることが可能になります。

書籍出版

電脳麻将のプログラムを解説する書籍を出版することになりました。すでに執筆は終えており、現在校正中です。年内には出版されるものと思います。出版日など詳細が決まったら、別途アナウンスします。

この半年は書籍の執筆とそれに伴うプログラムの修正*1に注力したため、新機能の開発が止まっていましたが、年明けから再開します。まずは VoiceOver のような読み上げソフト対応、次に麻雀サーバーの実装を計画しています。

*1:本を出すとなると些細なことが気になってしまうのです