牌の危険度を評価する際に「スジをカウントする」のが最近のトレンドのようである*1。これは「終盤になり安全牌が増えればその分残った牌の危険度が上がる」という考え方で、相対危険度 のようなもの。牌の危険度計算アルゴリズム(1) - koba::blog で実装したカベを考慮した危険度は、巡目によって変化しない 絶対危険度 なので、
- その牌の絶対危険度 / 絶対危険度の総和
で相対危険度を計算し、押し引きに利用することを試みる。
続きを読む牌の危険度を評価する際に「スジをカウントする」のが最近のトレンドのようである*1。これは「終盤になり安全牌が増えればその分残った牌の危険度が上がる」という考え方で、相対危険度 のようなもの。牌の危険度計算アルゴリズム(1) - koba::blog で実装したカベを考慮した危険度は、巡目によって変化しない 絶対危険度 なので、
で相対危険度を計算し、押し引きに利用することを試みる。
続きを読む電脳麻将 ver.2.0 で開発中の新機能「パラメータによるルールのカスタマイズ」。麻雀ルールのカスタマイズ(1) ~ 終局判断とポイント計算 - koba::blog に続き今回の話題は 流局処理 と 連荘判断。これらに関わるパラメータは以下の通り。
電脳麻将 ver.2.0 で開発中の新機能「パラメータによるルールのカスタマイズ」で終局判断とポイント計算に関わるパラメータは以下の通り。
電脳麻将 ver.2.0 開発 における目玉の一つが パラメータによるルールのカスタマイズ である。具体的なパラメータ一覧は ルール · kobalab/majiang-core Wiki · GitHub に記した通り。これらを組み合わせてカスタマイズ可能とする。
実装予定のパラメータでどこまで各種ルールに対応可能か調べてみた。ネット麻雀代表として 天鳳、競技麻雀代表として Mリーグ、古典的ルール代表として 最高位戦Classic を例にパラメータを適用した*1。
*1:ただし天鳳は「ナシナシ東風戦」とした
nginx のインストールと設定 - koba::blog で nginx を導入した目的は、WebSocketを使用したWebアプリを提供することであった。なので今回は実際に socket.io を使用した 簡単なWebアプリ にリバースプロキシからアクセスしてみた。
続きを読むkobalab.net ではWebサーバに Apache を使用していましたが、今後WebSocketを使用したアプリを配置する可能性があることを考慮して、nginx に乗り換えました。Apacheで配信していたコンテンツは
に分類できます。1 はnginxで直接配信、2 はnginxをリバースプロキシにしてApacheに連携*3、3 はnginxをリバースプロキシにして直接連携 としました。
*1:アクセスカウンタや新着情報はCGIの出力をSSIで取り込んでいる
*2:mod_perl で動作
*3:可能であればnginxで直接動作させたいが、気軽に雑なCGIが動かせる環境は残しておきたい
GitHubに脆弱性警告が通知されていた。pug-code-gen を 2.0.2 → 2.0.3、pug を 2.0.2 → 3.0.1 にアップデートせよとのお達しである。
pug を 2.0.2 → 3.0.1 にアップデートすれば pug-code-gen も 3.0.x にアップデートされるようなので、pug だけアップデートすればよさそうなのだが、この2つのモジュールを使っている pug-cli がアップデートされていない*1。こういうときは npm audit fix を使って package-lock.json を直すが定番だが、さすがにメジャーバージョンのアップデートは対応できない。
以前、npm モジュールのセキュリティアップデート - koba::blog のやり方で修復したことがあるのだが、これはどうやらたまたまうまくいっただけのようである。そこでネットを調べると package.json の resolutions を使って依存パッケージのバージョンを指定する - 30歳からのプログラミング というページを発見したので、これを参考にバージョンアップを試みた。
*1:1.0.0-alpha6 というなんともやる気のないバージョンのまま
天鳳鳳凰卓の牌の危険度表 - koba::blog で天鳳鳳凰卓での牌の危険度と待ちの形の出現度を集計したが、その結果を 電脳麻将 の押し引きに反映する。
まず前回の2つの表の条件を掛け合わせて集計し直した。
続きを読む