最終更新: 2026年4月
🔄 ゲームの流れ
1局の流れ
- 配牌 — 各プレイヤーに13枚ずつ配られます
- ツモ — 親から順番に山から1枚引きます
- 打牌 — 手牌から1枚選んで捨てます
- 鳴き判定 — 他家の捨て牌でポン・チー・カン・ロンが可能か判定
- 2〜4を繰り返し、誰かが和了するか山牌がなくなるまで続行
局の進行
- 和了 — ツモ(自分で引いた牌で和了)またはロン(他家の捨て牌で和了)
- 流局 — 山牌がなくなった場合。テンパイしている人は点数をもらえます
- 四風連打 — 第一巡で全員が同じ風牌を捨てると流局
連荘と本場
- 親が和了 → 連荘(親継続、本場+1)
- 子が和了 → 本場リセット、次の局へ
- 流局で親テンパイ → 連荘
- 流局で親ノーテン → 次の局へ
- 本場1回につき、ロン時+300点、ツモ時各+100点
🗣️ 鳴き(副露)
他家の捨て牌を使って面子を作ることを「鳴き」と言います。鳴くと手牌が公開され、一部の役が使えなくなります。
| 種類 | 条件 | 説明 |
|---|---|---|
| ポン | 手牌に同じ牌が2枚 | 誰の捨て牌からでも取れる。刻子を作る |
| チー | 手牌に連続する2枚 | 上家(左のプレイヤー)の捨て牌のみ。順子を作る |
| 明カン | 手牌に同じ牌が3枚 | 誰の捨て牌からでも取れる。カン面子を作り、嶺上牌をツモる |
| 暗カン | 手牌に同じ牌が4枚 | 自分のツモ番に宣言。門前扱いが維持される |
| 加槓 | ポン済み+同じ牌をツモ | ポンした面子にツモ牌を追加してカンにする |
⚡ 特殊ルール
フリテン
以下の場合ロンができません(ツモは可):
- 捨て牌フリテン — 自分の待ち牌が自分の捨て牌にある
- 同巡フリテン — 同巡で当たり牌をスキップした
- リーチ後フリテン — リーチ後に当たり牌をスキップすると永続
フリテンなのにロンを宣言するとチョンボ(満貫払い(親12,000点/子8,000点))になります。
供託(リーチ棒)
リーチ宣言時に1,000点を供託棒として場に出します。次に和了した人が全額受け取ります。流局時は次局に持ち越しです。
途中流局(特殊な流局)
以下の条件が成立すると、通常の流局とは別に即座に局が終了します。
| 名称 | 条件 |
|---|---|
| 四風連打 | 第一巡で4人全員が同じ風牌を捨てると流局 |
| 九種九牌 | 配牌+第一ツモの14枚中に9種類以上の么九牌がある場合、流局を選択できます |
| 四家立直 | 4人全員がリーチを宣言すると流局 |
| 四開槓 | 2人以上で合計4回カンが行われると流局(1人で4回なら四槓子で続行) |
槍槓(チャンカン)
他家が加槓した牌で和了できる場合、ロンを宣言できます。
チョンボ(反則)
以下の場合、満貫払いの罰則が科せられます(親なら12,000点支払い、子なら8,000点支払い)。
- フリテンロン — フリテン状態でロンを宣言した場合
- 役なしロン — 役のない手でロンを宣言した場合
チョンボの罰金は他の3人に均等に分配されます。AIプレイヤーはフリテン時にロンしないため、チョンボはプレイヤーのみに適用されます。
トビ終了
誰かの持ち点がマイナスになった時点でゲーム終了です。
🌐 LAN対戦
遊び方
- タイトル画面で「LAN対戦」ボタンを押す
- ホスト:部屋名を決めて「接続」→ 他のプレイヤーの参加を待つ → 「対局開始」
- ゲスト:同じ部屋名を入力して「接続」→ ホストの開始を待つ
- 空き席はCPUが自動で担当します(2人でも3人でもOK)
- 同じネットワーク上のデバイスなら、PCでもスマホでもOK
- 途中で誰かが抜けても、その席はCPUが引き継ぎます
💡 上達のコツ
🎯 まずはリーチを狙おう
門前で手を揃えてリーチ宣言。裏ドラのチャンスもあり、初心者でも安定して和了できます。
🀄 役牌を大切に
白・發・中や自風牌は、3枚揃えるだけで役になります。序盤で捨てないようにしましょう。
🚫 むやみに鳴かない
鳴くとリーチできなくなります。役が確定している時だけ鳴きましょう。
👀 捨て牌を見よう
他家の捨て牌から、待っている牌や危険牌を推測できます。安全牌を覚えることが防御の基本です。
📊 ドラを意識する
ドラは1枚で1翻のボーナス。ドラ表示牌を見て、ドラを含む手を目指しましょう。
⏰ オーラスの戦略
最終局は点数状況を見て、安手で早上がりか高い手を狙うか判断しましょう。
麻雀は奥の深いゲームです。最初は役を覚えるだけで大変ですが、繰り返し遊ぶうちに自然と身につきます。まずはCPU対戦で気軽に楽しんでください!
🔧 開発者ノート: ルール実装の裏側
フリテン判定の実装
フリテンは麻雀の中でも実装が難しいルールのひとつです。本ゲームでは、プレイヤーの捨て牌履歴と現在の待ち牌をリアルタイムで比較し、ロンが可能かどうかを毎打牌ごとに判定しています。リーチ後のフリテンにも対応しており、リーチ後に見逃した場合はツモあがりのみに制限される仕様を忠実に再現しました。
鳴き判定のタイミング制御
ポン・チー・カンの鳴き判定は、他家の打牌イベントをトリガーにして実行されます。複数のプレイヤーが同時に鳴ける場合(例: ポンとチーの競合)は、ポン優先のルールをイベントキューで制御しています。ネット対戦時も同じロジックがサーバーサイドで適用されるため、ローカルとオンラインで挙動が変わることはありません。
ネット対戦の同期方式
ネット対戦では、ホストのブラウザがゲームマスターとして局の進行を管理します。各プレイヤーのアクション(打牌・鳴き・リーチ宣言等)はPerl CGI/FastCGIリレーサーバーを経由してリアルタイムに中継されます。通信はポーリング方式を採用し、サーバーの対応環境を広く保ちつつ、体感100〜300ms程度の応答速度を実現しています。
連荘・流局の処理
親の連荘、テンパイ流局、九種九牌などの特殊局終了条件は、それぞれ独立したフラグで管理しています。特にネット対戦での流局判定は、全プレイヤーの手牌情報をサーバー経由で集約した上で行う必要があり、同期タイミングの設計に工夫を要しました。