麻雀の点数計算方法(正式版・簡易版)

Mリーガー渋川難波プロによる 点数計算教室 を見た。「符を使わない」という斬新な切り口で興味深いし、たいていのケースはこれで賄えるのだけれど、3900点や7700点が発生する理由が省略されていることが気になった方もいるのではなかろうか。これは「渋川式」が点数を素早く把握することを目的とした「簡易」な方法であることが原因で、「正式」な方法を知れば3900や7700の発生理由は理解できるのである。

という訳で、本稿ではまず「正式」な点数計算方法を説明し、その後で如何に簡易に計算するかという順序で点数計算を説明してみたいと思う。

続きを読む

日本でキャッシュレス生活

4年ほど前に 中国QR決済事情 - koba::blog というブログ記事を書いたことがある。その当時、日本でキャッシュレスといえば駅のホームの自販機でSuicaを使うくらいな感じだったと思うのだが、コロナ禍明けで3年半ぶりに帰国したので帰国期間中キャッシュレス生活してみた。

私は中国大連では4年前からキャッシュレス生活しており、普段の決済はWeChat Payで事足りる。公共交通機関を利用するときのみ大連市の交通系ICカードである“明珠卡”を使うのだが、そのチャージにはWeChat Payを使っている。つまり財布に触れる機会がほぼない訳だ*1。日本でのキャッシュレス生活も「財布に触らないこと」を目標とする。現金は当然、クレジットカードもキャッシュカードも使わない生活である。

*1:社食で社員証をプリペイドカードとして使い、そのチャージに現金を使っているので100%キャッシュレスではない

続きを読む

UpperHand ゲーム 公開

UpperHand ゲーム を公開しました。

UpperHand は囲碁に似た雰囲気の陣取りゲームです。学生時代に研究室で実物のゲームが流行り、Pascalで実装したのが最初です。次にWeb黎明期に Java Applet で実装 しました*1。Java Applet 版が動作しなくなって久しいので、今回 JavaScript で書き直した次第です。今回の修正で5路盤以外でも遊べるよう改良しました。

  • ルール
  • AIの強さ
  • プログラム
  • 関連情報

*1:2020年頃まではこれで遊んでくれる人がいたようです

続きを読む

電脳麻将 ver.2.0.0 公開

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

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

  • 新機能
    • ルールのカスタマイズ
    • UIの向上
    • スマートフォン対応
  • プログラム構成
    • サブパッケージ
      • majiang-core
      • majiang-ai
      • majiang-ui
    • 関連パッケージ
      • majiang-analog
      • tenhou-log
  • 書籍出版
続きを読む

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

麻雀のプログラムに関してネットを検索していたら、こんな記事を見つけてしまった。

2010年の記事なのでちょっと古いけど、なんかそんな話題があったような記憶はぼんやり残ってる。「できない人は“ほぼ確実に”優秀ではない」などと煽り気味の記事が出題する「史上最大のコーディングスキル判定」のお題は「麻雀の『待ち』を出力するプログラム」である。

  • ヘンテコな出題
  • majiang-core を使った回答
  • majiang-core を使わない回答
続きを読む

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

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

続きを読む