JavaScript

Passportで外部認証を実現する

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

麻雀サーバーの使い方

電脳麻将 ver.2.3.0 で ネット対戦 の機能を追加しましたが、麻雀サーバー の使い方を説明していませんでした。README だけでは説明が不十分と思ったので、補足記事を書くことにします。麻雀サーバーを動作させるには Node.js と npm が必要なので、あらかじ…

電脳麻将 ver.2.3.0 公開

電脳麻将 を ver.2.3.0 にバージョンアップしました。 ネット対戦 を追加しています。

電脳麻将 ver.2.2.0 公開

電脳麻将 を ver.2.2.0 にバージョンアップしました。 点数計算ドリル を追加しています。

電脳麻将 ver.2.1.0 公開

電脳麻将 を ver.2.1.0 にバージョンアップしました。 連風牌を2符とするルールを追加 ダブロンの牌譜再生のUIを変更 の修正を行いました。

UpperHand ゲーム 公開

UpperHand ゲーム を公開しました。UpperHand は囲碁に似た雰囲気の陣取りゲームです。学生時代に研究室で実物のゲームが流行り、Pascalで実装したのが最初です。次にWeb黎明期に Java Applet で実装 しました*1。Java Applet 版が動作しなくなって久しいの…

電脳麻将 ver.2.0.0 公開

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

麻雀の「待ち」を出力するプログラム

麻雀のプログラムに関してネットを検索していたら、こんな記事を見つけてしまった。 あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定:makeplex salon(1/2 ページ) - ITmedia エンタープライズ 2010年の記事なのでちょっと古いけど、な…

npm モジュールのセキュリティアップデート(3)

npm モジュールのセキュリティアップデート(2) - koba::blog で npm-force-resolutions を使って pug のバージョンを 3.0.2 に固定していたのだが、npm v8.7.0 ではこれがうまく動作しないようである。npm v8.3.0 以降では npm-force-resolutions を使わずと…

LiuLian ver.1.1.0 リリース

LiuLian / ver.1.1.0 をリリースしました。目次ページからナビゲーション用のリンクを生成する nav モジュール を追加しました。

LiuLian ver.1.0.0 公開

LiuLian の正式バージョン ver.1.0.0 をリリースしました。LiuLian は Wiki ライクのCMSです。Wikiと異なり ページベースの管理ではなく、任意にディレクトリを作成して階層的にファイルを配置できる 広く使われている Markdown記法 に加えて、はてな記法 や…

ダブルリーチの好形率・和了率・平均打点は?

ダブルリーチは愚形が多いと言われるが、実際のところはどうなの?ということで 2021年の天鳳鳳凰卓の牌譜*1から統計をとってみた。 ダブルリーチの好形率・和了率・平均打点 *1:つい先日、3月9日に公開されたばかり

電脳麻将V2開発状況

年末なので 電脳麻将改造中 - koba::blog で紹介した ver.2.0(V2 と呼ぶことにします)の開発状況を振り返っておきます。 パッケージ構成 majiang-core majiang-ui majiang-ai majiang-analog majiang-server 今後の計画

麻雀ルールのカスタマイズ(5) ~ 打牌制約

電脳麻将 ver.2.0 で開発中の新機能「パラメータによるルールのカスタマイズ」。今回は最後の話題。麻雀ルールのカスタマイズ(4) ~ 和了役と点計算 - koba::blog までで説明していない パラメータ は以下の3つ。 喰い替え許可レベル ツモ番なしリーチあり …

麻雀ルールのカスタマイズ(4) ~ 和了役と点計算

電脳麻将 ver.2.0 で開発中の新機能「パラメータによるルールのカスタマイズ」。麻雀ルールのカスタマイズ(3) ~ 赤牌とドラ - koba::blog に続いて今回の話題は 和了役 と 点計算。これらに関わるパラメータは以下の通り。 クイタンあり 一発あり ダブル役…

麻雀ルールのカスタマイズ(3) ~ 赤牌とドラ

電脳麻将 ver.2.0 で開発中の新機能「パラメータによるルールのカスタマイズ」。麻雀ルールのカスタマイズ(2) ~ 流局処理と連荘判断 - koba::blog からだいぶ間が空いたが今回の話題は 赤牌 と ドラ。これらに関わる パラメータ は以下の通り。 赤牌 裏ドラ…

電脳麻将 ver.1.6.0 公開

電脳麻将 を ver.1.6.0 にバージョンアップしました。 牌の危険度の計算方法を改善 牌譜解析ツールを削除 赤牌を識別しやすいデザインに変更 パッケージを最新化 が主な修正です。

牌の危険度計算アルゴリズム(4)

電脳麻将 の現在の押し引きアルゴリズムは親に対する考慮がない。牌の危険度計算アルゴリズム(1) - koba::blog までの 絶対危険度 は危険度を現物、字牌、スジ、無スジのように離散的に扱っており、危険度の値は序列を表しているに過ぎなかったのだが、牌の…

ソバテン・裏スジは危険?

リーチ宣言牌のスジは危険? - koba::blog に続いて 牌譜解析ツール で リーチ宣言牌と同種の数牌、最初に切られた数牌と同種の数牌 について危険度*1の統計をとってみた。 数牌の平均危険度 リーチ宣言牌との相関 最初に切られた数牌との相関 *1:危険度 = …

リーチ宣言牌のスジは危険?

電脳麻将 の牌譜解析機能を npm パッケージ化しました。 @kobalab/majiang-analog - npm 電脳麻将形式の牌譜を解析する基底クラスを提供します。本クラスのサブクラスを作成し、解析のためのプログラムを書く ことができます。天鳳の牌譜も tenhou-log で電…

牌の危険度計算アルゴリズム(3)

牌の危険度計算アルゴリズム(2) - koba::blog で実現した牌の 相対危険度 を押し引きに適用する。従来は手牌を 愚形*1、好形*2、超好形*3 の3種、切る牌を 安全*4、危険*5 の2種に分類し、以下のパターンで押し引きを決定していた。 安全牌あり 安全牌なし …

牌の危険度計算アルゴリズム(2)

牌の危険度を評価する際に「スジをカウントする」のが最近のトレンドのようである*1。これは「終盤になり安全牌が増えればその分残った牌の危険度が上がる」という考え方で、相対危険度 のようなもの。牌の危険度計算アルゴリズム(1) - koba::blog で実装し…

麻雀ルールのカスタマイズ(2) ~ 流局処理と連荘判断

電脳麻将 ver.2.0 で開発中の新機能「パラメータによるルールのカスタマイズ」。麻雀ルールのカスタマイズ(1) ~ 終局判断とポイント計算 - koba::blog に続き今回の話題は 流局処理 と 連荘判断。これらに関わるパラメータは以下の通り。 途中流局あり 流し…

麻雀ルールのカスタマイズ(1) ~ 終局判断とポイント計算

電脳麻将 ver.2.0 で開発中の新機能「パラメータによるルールのカスタマイズ」で終局判断とポイント計算に関わるパラメータは以下の通り。 配給原点 順位点 場数 トビ終了あり オーラス止めあり 延長戦方式

麻雀ルールのカスタマイズ(0) ~ ルール一覧

電脳麻将 ver.2.0 開発 における目玉の一つが パラメータによるルールのカスタマイズ である。具体的なパラメータ一覧は ルール · kobalab/majiang-core Wiki · GitHub に記した通り。これらを組み合わせてカスタマイズ可能とする。実装予定のパラメータでど…

電脳麻将改造中

4月から 電脳麻将 の次期バージョン(ver.2.0 とする予定)への改造作業を開始しています。 ネット対戦機能 ルール変更対応 不正な牌姿への対応 バリアフリー対応 が主な予定改造項目です。

nginxによるsocket.ioプロキシの設定

nginx のインストールと設定 - koba::blog で nginx を導入した目的は、WebSocketを使用したWebアプリを提供することであった。なので今回は実際に socket.io を使用した 簡単なWebアプリ にリバースプロキシからアクセスしてみた。

電脳麻将におけるMVCの実装

電脳麻将 は HTML5 + CSS3 + JavaScript で動作する SPA です。こういったアプリを実装する場合、現在は React や Vue を使って宣言的に書くのがあたりまえで、jQueryはオワコン といわれています。ですが電脳麻将はあえて jQuery を使って MVC に基づいて実…

npm モジュールのセキュリティアップデート(2)

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 だけアップデー…

牌の危険度計算アルゴリズム(1)

天鳳鳳凰卓の牌の危険度表 - koba::blog で天鳳鳳凰卓での牌の危険度と待ちの形の出現度を集計したが、その結果を 電脳麻将 の押し引きに反映する。まず前回の2つの表の条件を掛け合わせて集計し直した。