最終更新: 2026年4月
🎮 遊び方
ゲームの始め方
- HTMLファイルをブラウザで開きます
- タイトル画面でプレイヤー名を入力(省略可)
- 「対局開始!」ボタンを押すとCPU3人と対戦開始
基本操作
- 牌を捨てる — 捨てたい牌を2回クリック(1回目で選択、2回目で確定)
- ツモ — 和了できる時に「ツモ」ボタンが表示されます
- ロン — 他家の捨て牌で和了できる時に「ロン」ボタンが表示されます
- リーチ — テンパイ時に「リーチ」ボタンで宣言、捨て牌を選びます
- ポン・チー・カン — 鳴ける時にボタンが表示されます
- スキップ — 鳴きをパスします
画面の見方
- 上部バー — 局名(東一局など)、各プレイヤーの点数
- ドラ表示行 — ドラ表示牌、残り牌数、供託棒
- 中央 — 対戦相手の手牌(裏面)と捨て牌
- 下部 — あなたの手牌、ツモ牌(区切り線の右)、アクションボタン
設定
タイトル画面で以下を切り替えできます:
- 🌐 English — 日本語⇔英語の切替
- 🔊 音ON/OFF — 効果音の切替
📖 基本ルール
このゲームは東風戦(トンプウセン)です。東一局~東四局までの最大4局で競います。
プレイヤー
4人で対戦。初期持ち点は各25,000点。
勝利条件
東四局終了時に最も点数が高いプレイヤーが勝ち。途中で誰かの点数がマイナスになったら即終了。
親と子
各局に1人が「親」となり、和了時の点数が1.5倍に。親が和了すると連荘(同じ局をもう一度)。
和了(アガリ)
手牌を4面子1雀頭(4組の3枚セット+1組のペア)に揃えると和了。役が1つ以上必要。
🀄 牌の種類
全136枚(34種×各4枚)の牌を使います。
数牌(すうはい)— 27種
| 種類 | 牌 | 特徴 |
|---|---|---|
| 萬子(マンズ) | 一萬〜九萬(1m〜9m) | 漢数字が書かれた牌 |
| 筒子(ピンズ) | 一筒〜九筒(1p〜9p) | 丸い模様の牌 |
| 索子(ソーズ) | 一索〜九索(1s〜9s) | 竹模様の牌 |
字牌(じはい)— 7種
| 分類 | 牌 | 説明 |
|---|---|---|
| 風牌 | 東・南・西・北 | 場風・自風で役になる |
| 三元牌 | 白・發・中 | 3枚揃えるだけで役になる |
🔧 このゲームならではの特徴
完全ブラウザ完結の設計思想
本作は外部ライブラリやフレームワークを一切使わず、HTML・CSS・JavaScriptのみで構築しています。麻雀ゲームは役の判定、点数計算、フリテン検出など複雑なロジックが必要ですが、これらをすべてVanilla JavaScriptで自前実装しました。その結果、単一のHTMLファイルだけで動作し、オフライン環境でもプレイ可能です。
3段階のCPU AI
CPU対戦では「弱い」「普通」「強い」の3段階から強さを選べます。弱いCPUはランダムに近い打牌を行い、初心者でも気軽に楽しめます。普通のCPUは基本的な手作りを行い、強いCPUは受け入れ枚数の計算とベタオリ(守備的打牌)を実装しています。
守備AIでは、リーチ者の捨て牌から安全牌を推測し、現物→筋→壁の順に切り出す守備ロジックを搭載。攻撃と守備のバランスを局面に応じて切り替えるため、中〜上級者でも歯ごたえのある対戦が楽しめます。
合言葉によるネット対戦
友達との対戦では、面倒なアカウント登録は不要です。ホストが合言葉を決めてルームを作成し、友達にその合言葉を伝えるだけ。2〜4人が揃うと自動でゲーム開始し、空き席はCPUが担当します。通信はPerl CGI/FastCGIベースのリレーサーバーで中継しており、低遅延で快適に対戦できます。
多言語対応の工夫
日本語・英語・中国語(簡体字)の3言語に対応しています。タイトル画面のボタンひとつで全テキストが切り替わる仕組みを、外部ファイルなしで実現しました。牌の読み方や役名も各言語に合わせて表示されるため、海外の友人とも一緒に遊べます。