牌譜エディタの使い方

電脳麻将 ver.2.4.0 で牌譜エディタの機能を追加したので、その使い方を説明します。

  • 牌譜エディタの起動
  • 対局情報の入力
  • 牌譜の入力
  • 和了・流局の入力
  • 局の追加・削除
  • 最終得点とポイント
  • ルール設定

牌譜エディタはPCのみの機能です。スマートフォンでは利用できません。*1

*1:そもそもスマートフォンでは入力できないと思う

続きを読む

バックトラックで麻雀の和了形一覧を求める

麻雀の役を判定をするときには、まず和了形を求める必要がある。

m1m1m1m2m2m2m3m3m3p8p9p9p9 p7

例えば上記の牌姿の場合は、以下の2つの和了形が存在する。

  • p9p9 m1m1m1 m2m2m2 m3m3m3 p7p8p9 (三暗刻)
  • p9p9 m1m2m3 m1m2m3 m1m2m3 p7p8p9 (純全帯幺九+一盃口)

このように和了形が複数あるときは和了点の高い方を採用する*1ので、全ての和了形をもれなく求める必要がある。そのためには バックトラック法 と呼ばれる手法を用いるのが一般的だ。ところがネット上で見かける和了形を求めるアルゴリズムは「アドホックな解法」ばかりでバックトラックを説明したものが見当たらない*2。ならばということで、本稿で説明することにした。

*1:これを高点法と呼ぶ

*2:バックトラックを使っていても説明は省略されている、あるいは誤った手法をバックトラックと称しているなど

続きを読む

Passportで外部認証を実現する

電脳麻将 ver.2.3.0ネット対戦 の機能を追加した。ルーム(対局待ちの状態)や対局画面にプレーヤー名(できればアイコンも)を表示しようとするとプレーヤーの登録が必要になる。電脳麻将では「ゲスト登録」と「外部認証」の2つの方法で、電脳麻将自身ではプレーヤー情報を管理せずプレーヤー名を取得しているので、この方法を説明する。

続きを読む

麻雀サーバーの使い方

電脳麻将 ver.2.3.0ネット対戦 の機能を追加しましたが、麻雀サーバー の使い方を説明していませんでした。README だけでは説明が不十分と思ったので、補足記事を書くことにします。

麻雀サーバーを動作させるには Node.jsnpm が必要なので、あらかじめインストール*1しておいてください。

続きを読む

さくらVPSの初期設定(AlmaLinux編)

CentOS 7 のサポートが2024年7月で終了するということなので、さくらVPSで運用している kobalab.net のOSを AlmaLinux 9 に乗り換えます。ついでにVPSも交換することにしました。メモリ1GのモデルでSSDは100Gに増設します。

も参考に設定していきます。

続きを読む