ドッジェムの遊び方
著者:関 勝寿
公開日:2025年8月22日
キーワード:
game
javascript
このページではドッジェムの遊び方を説明します。
ルール
n×n の盤面に、左端の列に青の駒を n−1 個、最下段に赤の駒を n−1 個並べます。下図は n=4 の例です。
- 手番は青が先手、赤が後手で、交互に1手ずつ指します。
- 青の駒の前進方向は右です。1マス右へ進むか、上下に1マスの横移動ができます。
- 赤の駒の前進方向は上です。1マス上へ進むか、左右に1マスの横移動ができます。
- 駒は空いているマスにのみ移動できます。ジャンプ・取り・重ね置きはできません。
- 駒が出口の縁(青: 右端列、赤: 最上段)に到達したら、次の手で盤外に取り除けます。
- 相手の動きを完全に妨害してはなりません。言い換えると、自分の手番に合法手がないときは自分の勝ちです。
- 自分の駒をすべて取り除いたプレイヤーが勝者です。
- 同一局面が3回出現した場合は引き分けです。
操作方法
- 動かしたい駒をクリック/タップし、行き先を選びます。
- 同じ駒をダブルクリック(ダブルタップ)すると、取り除ける状態であれば取り除きます。
- 盤サイズ、先後、コンピュータの強さ(レベル1〜3)を選び、「ゲーム開始」ボタンで新しい対局を開始します。
- 「観戦」を選ぶとコンピュータ同士で対局します。再生速度を選べ、100 を選ぶと 100 局を連続で実行します。対局中でも速度変更や停止が可能です。
- 同じ設定で連続対局すると勝敗が記録されます。ページの再読み込みや中断で記録はリセットされます。
盤サイズ別の戦略
- 3×3は先手必勝、4×4と5×5は完全プレイでは引き分けであることが知られています。
- まずは3×3で、先手として安定してコンピュータに勝てるよう目指しましょう。
- 4×4と5×5では、完全プレイ相手に勝つことはできませんが、レベル1と2なら十分勝機があります。先手の方が勝ちやすいので、先手での勝利、後手では引き分けを目標にしましょう。
- 4×4のレベル3ではコンピュータに勝つのは極めて難しいので、引き分け確保に専念してください。コンピュータが必勝を検出すると通知が表示されます。これらの局面を研究してからレベル1・2に戻ると、勝率が上がります。
- 5×5のレベル3ではコンピュータは強いものの完全プレイには程遠いので、勝てる見込みが十分あります。先手では勝ちを狙いましょう。
- 4×4以上で人間同士が対戦する場合は、公平な方式として、チェスの選手権と同様に「先後交代で同数回対戦する」形式がおすすめです。
このプログラムについて
- このオンライン版は JavaScript で書かれています。ソースコード。実行には pako を読み込みます。
- ほぼ完全解析の Python プログラムにより、MongoDB上でオフライン計算された局面評価データベースの一部を、圧縮された「evalmap」として読み込みます。オンライン版はMongoDBを使わないためCPUレベル1~3のみ対応で、MongoDBを利用するレベル4はローカルのCLI/GUI版で利用可能です。各レベルの強さはPythonプログラムで検証済みです。
参考文献
- Berlekamp, Elwyn R.; Conway, John Horton; Guy, Richard K. (2003), “Dodgem,” Winning Ways for your Mathematical Plays, vol. 3 (2nd ed.), A.K. Peters, pp. 749–750, ISBN 978-1-56881-143-7.
- rec.games.abstract のディスカッションスレッド (1996)。David desJardins による 4×4 と 5×5 の勝敗表が掲載され、いずれも引き分けと結論づけられています。
- Wikipedia: Dodgem