とりあえず最初の記事を書いてみたものの、ページの作成単位?(区切り)に悩みつつ、書きもれたことを備忘的に記載します。
麻雀の主な情報源
麻雀用語の英単語は、なじみが薄いものが多くコード上のネーミングにも多々ブレがあります。Type.tsなどは型に漢字すら使用しています。一応問題なく動作しているようなので、一旦このままにしますが、一貫性をもたせたいところです。
ライブラリ
- winston (ロギング)
- Jest(単体テスト)
- linqts(コレクション処理)
標準ぽいのを採用したつもりですが、コレクション処理には普段の仕事がC#ですのでLinq実装のものを採用しました。他にベターなものや便利なライブラリがあれば探したいです。コメントも少ないですし、TSDocやクラス図作成ツールなどあるといいかもです。
可視化
現状では牌の確認するときには絵文字で表示していますが、視認性は相当悪いです。このあたりはHTMLにすれば改善すると思いますが、Web技術を使いだすと考慮範囲が広くなってしまうので、しばらくはターミナルだけで開発したいです。今後牌をツモったり捨てたりするのも含め、UI/UXが悩みどころです。
参考にさせていただいているすべて
いうまでもなく麻雀にかかわる先人、書籍、メディア、サイト、プログラムなどなどは数多くございます。すべてに敬意をもちつつ、イチ麻雀愛好家として、楽しみながら技術を学ぶ題材として麻雀を使わせていただきます。
追記
先日、順子のロジックを調べていたら、これから実装するであろう内容にとても参考となる(ほぼ答え?)記載されているページを見つけてしまいましたので、参考にさせていただく感謝と敬意の代わりに、列挙させていただきます。
今やっていることが当然、先人の二番煎じ、三番煎じであろうことは承知していますが、何か問題があれば、ご指摘、ご教授お願いします。