マインスイーパ
出典: フリー百科事典『ウィキペディア(Wikipedia)』
マインスイーパは1989年にロバート・ドナーが発明した1人用コンピュータゲームである。ゲームの目的は地雷原から地雷を取り除くことである。
このゲームは多数のコンピュータプラットフォーム向けに書き直されており、もっとも有名なものはMicrosoft Windowsに搭載されているものである。
ゲーム画面は正方形の升目から構成されている。それぞれの升目は左クリックすることで開けることができる。地雷の置かれている升目を開けたときはゲーム終了となる。地雷の置かれていない升目を開けたときは、2つの動作のうちの1つが発生する。つまり、隣接する8マスに置かれている地雷の個数が表示されるか、隣接するマスに地雷が置かれていないときは、周辺の升目が自動的に開けられる(それらに地雷が含まれている可能性がないため)。地雷の置かれていない升目をすべて開ければゲームクリアとなる。
プレイヤーは任意に地雷が置かれていると思われる升目を右クリックすることで、升目に旗を立てることができる。一部のプラットフォームでは、表示された個数と同じだけの旗を立てた升目で中ボタンをクリック(または左右のボタンを同時に押下)すると、隣接する開けられていない升目を一気に開けることができる。このとき開けられた升目に地雷が置かれていれば、ゲーム終了となる。また一部のプラットフォームではプレイヤーが地雷にマークしたあと右ボタンを押下したまま移動することを許している。これによってプレイヤーは短い時間で大きな区域を開けるために、マウスの右ボタンをドラッグしながらいくつかの数字の升を左クリックすることができる。
ほとんどのプラットフォームでは、最初にクリックした升目に決して地雷が配置されないようにして、プレイヤーが不利にならないようにしている。一部のプラットフォームでは地雷の配置を変更して、一か八かの選択状態にならないようにしている。
目次 |
[編集] 歴史
すでに1985年には、「Relentless Logic」(略して「RLogic」)と呼ばれていたゲームがコンウェイ、ホング、スミスによってMS-DOSで開発されていたが、あまり知られていない。RLogicでは、プレイヤーはアメリカ海兵隊員となり、米軍司令部に重要なメッセージを届ける。RLogicとマインスイーパはコンセプトが似通っているが、多くの相違点がある。以下はRLogicの特徴である。
- プレイヤーは左上から右下(司令部)まで地雷原を通り抜けていかなければならない。
- すべての地雷を見つける必要はない。したがって、地雷に印を付けたり地雷の数を示したりする機能はない。
- 左上から右下までの歩数がカウントされる。ハイスコアの機能は付いていないが、プレイヤーは地雷の数ごとの自分の最高点を超えようとしていた。
- マインスイーパと異なり、地雷原の大きさは固定されているが、地雷の個数を変えることができる。
地雷原を通り抜けるゲームのため、ときにクリア不可能になることがあった。すなわち、すべての通り道が地雷で止められているのだ。
RLogicとドナーのマインスイーパとの間の関連は不明である。RLogicが先に出たことは否定できないが、コンセプトが単純なため、両者が偶然に通った可能性も十分に考えられる。マインスイーパが広く知られ続けているのに対して、RLogicは事実上無名になっている。
RLogicはさらに古いゲームだということが明らかになっている。1981年頃のTektronix 4051に搭載されていたものがあったが、「games tape」に収録されている古い版は1973年までさかのぼることができる([1])。このテープにはマインスイーパの3次元バージョンが含まれている。このゲームの作者である、デービット・アール([2])は、コンピュータゲームの歴史の中で重要な人物である。
[編集] ゲームの分析
[編集] パターン
当然、ゲーム中には地雷の位置がただ1種類に定まると認識できる状況が発生する数多くのパターンが存在する。早くゲームを終わらせるために、すでに地雷の位置が定まったところを処理し、その後でまだ定まらないところを処理するのが大抵は最も簡単である。推測が必要な場合、特にこれは重要である。なぜなら推測を外した場合、盤面の他の部分に費やした努力はすべて失われてしまうからである。
例えば、長方形の未処理の升目の塊の角に対して数字が1となっていれば、その角は地雷であることが示されている。これはパターンの中でも一番簡単な例であるが、他の数多くのパターンも早くゲームを終わらせることができる。
より地雷の多い盤面では升目を開いた時、たまに数字の8を見つけることがある。その場合、その升目はすべて地雷に囲まれている。
平らな「壁」に対して置かれた数字の3(これは大抵両側を2で挟まれる)は、3のある場所を中心に一列に3つの地雷が並ぶことが示されている。
1の隣に2があるような壁(その壁の裏側の隣り合った升目には地雷がないとして)では、その2の斜め向かいで1から離れた側に地雷があるだろう。多くのより長いパターンを、これと次からのいくつかのパターンで推論することができる。
数字の2が両側を1に挟まれて現れるような壁では、真ん中に接する升目は数字の升目として開けることができる。これはもし真ん中の升目に対する升目に地雷があったとするならば両側の1のうち片方は2つ地雷が接してしまうので、真ん中の地雷の升目に近接する2つの升目にそれ以上地雷を見つけることはできない、ということで理解できる。
壁に2がずらっと並んでいる場合、まず4つの2が両端を1で挟まれていると、真ん中の2つの2に対する升目と両端の2つの1に対する升目に地雷があることを意味している。5つの2が同じように両端を1で挟まれていると、真ん中の1つを除く残りの2に対する升目に地雷がある。これらのパターンは1つか2つの2が1に挟まれて現れるパターンの拡張バージョンのようであり、それら短いパターンと同じ原則によって地雷が配置されている。
フィールドの境界から垂直に伸びる壁の根元の2つの2は、それらに接する升目が地雷であることを保証する。これは境界に接した2に2つの隣接した地雷を配置できる唯一の可能性だからである。
フィールドの境界から垂直に伸びる壁の根元の2つの1は、根元から3つ目の升目に接する升目が地雷ではないことを保証する。これは境界に接した1のために根元から2つ目までの升目に接した升目のどちらかに必ず地雷が1つあり、2番目の1が表す地雷の位置もそのどちらかの升目に定まってしまうからである。
[編集] 盤面の難易度の測定
マインスイーパの盤面の難易度は、しばしば3BVの値によって判定される。
[編集] Windowsでの実装
Windowsで最初に実装されたのはMicrosoft Arcadeというパッケージゲーム集である。もっとも有名なMicrosoft Windowsのものでは、3つのサイズがあり、Microsoft製のものはそのサイズを踏襲している。
- 初級:8×8の升目に10個の地雷
- 中級:16×16の升目に40個の地雷
- 上級:30×16の升目に99個の地雷
- 盤面の変更:8×8から30×24までの升目に10から667個までの地雷(但し、設定できる地雷の最大数は、A×Bの盤面ならば(A-1)×(B-1)までである)
新しいバージョン(Windows 2000以降)では、初級の画面が9×9に変更されている(地雷の数は同じ)。これはおそらく以前の大きさでは、初級と中級が地雷をクリックする確率が同じであったからであろう(初級:8×8=64、10/64=15.625%、中級:16×16=256、40/256=15.625%)。
実際のところ、最初に開けた1升は必ず地雷ではないとした場合、古い初級のゲームは中級と比べランダムな1つの動きで地雷に当たってしまう確率がほんの少し多くなってしまっていた。しかしながら地雷に当たる確率は総合的にあまりなく、一か八かの選択状態になる確率もごく小さいため、初級のゲームはなお簡単であった。
新しいWindowsのバージョンではコントロールも改良されたため、9つのマスの幅がタイトルや得点のバーと同じになるように変更できるようになったのである。
あるいは、今の9×9の初級の画面では開けられた升目と開けられていない升目の境界が、数字の入った升目だけで1列並ぶように現れた場合、開けられていない側の境界の1列は一か八かで開けなくても解けるようになるためであるとも考えられる。
このゲームの3次元バージョンもあり、「マインスイーパ3D」とよばれている。また別のレイアウトを持った2次元のマインスイーパもある。例えばX11の「XBomb」は三角形または六角形のマスを持ち、Windowsの「Professional Minesweeper」はこれらやその他たくさんの種類のレイアウトを持っている。
ゲームボーイでも同様にこのゲームで遊ぶことができる。
2003年、マイクロソフトはMSN Messenger(バージョン6以降)で「Minesweeper Flags(マインスイーパフラグ)」という新しいゲームを提供した。このゲームは対戦式で、目的は地雷の周囲ではなく、地雷の位置をクリックして地雷を見つけることである。ゲームが終わったとき、つまりすべての地雷が見つかったときか何らかの理由でゲームが中断されたときにもっとも多くの地雷を見つけた人が勝者となる。
Windowsに付属するマインスイーパの初期のものは、地雷のあるマスをマウスカーソルでポイントすると、隠しコマンド(ウィンドウ上部中央のフェイスマークをクリック後、xyzzyとタイプした後に左Shiftキーを押しながらEnter)により画面の左上の1ピクセルが白く変化した。 サウンド機能は正式には実装されていなかったが、iniファイルにsound=1と書くことでビープ音によって地雷の爆発を表現するバージョンがあった。 Windows Vistaでは今までグレーだった盤面がカラフルなものとなり、地雷を踏むとサウンドとともに周囲に次々誘爆する表現になっている。失敗すると同じ地雷の配列で再プレイも可能(その場合、最初の1クリックで失敗することもある)。また、地雷でなく花の模様にも変えることが可能となっている。
[編集] Linuxでの実装
[編集] KDE
公式にリリースされたものとしてKminesがある。
[編集] Gnome
公式にリリースされたものとしてMinesがある。
[編集] チート
公式なチートはないが、いずれにせよソースコードは公開されている。
[編集] 最高記録
Windowsのバージョンの上級において、Windows2000での85秒未満(Windows3.1での80秒未満)はすばらしいタイムだと考えられている。中級の公式記録は9秒であり、8×8の初級では1秒である。上級の公式記録は38秒である。(最初の1クリックをしたらタイマーは1秒後ではなく、即座に1秒になる。)多くの人が自分たちのハイスコアの画像や動画を発表している。The Minesweeper Communityは史上最速の動画を含むbestever-listを編集している。このリストに参加するには、初級、中級、上級のタイムが合計で99秒以下でなくてはならない。
初級(9×9の盤面)を1クリックでクリアする確率は次の通り。連続して127,800,681回角をクリックしてゲームをし、1度にすべての升目が開くかどうかを調べると、1,519回最初の1クリックでクリアできる。このことから、角をクリックすると、即座にクリアできる確率は約0.0019%であることが分かる。真ん中をクリックすると、6,713,134回のうち39回1クリックでクリアすることができ、即座にクリアできる確率は約0.00058%でしかない。端の列の真ん中をクリックすると、10,839,687回のうち103回1クリックでクリアすることができ、即座にクリアできる確率は約0.00095%である。これは統計ではなく、組み合わせ論を使うことでより正確に計算することができる。