32個の地雷がある9x9フィールドでのサッパーの通過

それは無害なエンターテイメントが時々もたらすものです。 2ヶ月前、私は突然サッパーを演奏することに興味を持ちました。 記録を間に合わせるのではなく、フィールドの鉱山の数で破ることが私にとって特に興味深いものでした。 初心者レベルでは、9x9と10分フィールドが与えられます。 もちろん、それは非常に簡単で、鉱山の数を増やし始めました。 12、15、20個、簡単なウォームアップでした。 多数の試行の後、25が合格しました。 27個の鉱山(3番目のセルごとに採掘)を行うゲームには数時間かかりました。 そこで止まらず、すぐに30個を置きました。 1週間半後に1日1時間プレイしました。



1か月以上、彼は32個の地雷を採掘しようとしましたが、最高の試みでも10分ほど見つけることができましたが、それで弱体化しました。 そして、私は本当に勝利を望んでいたので、抜本的な対策がなければ、さらに数年を費やすことができると決めました。 このアイデアは、ゲームの任意の時点で、各セルで地雷を発見する確率を計算するプログラムを作成するようになりました。



ゲームの主な難点は、得られた数値がどのセルでも地雷の有無を明確に判断できない場合にどこを突くかです。 しかし、それにもかかわらず、これらの確率は非常に異なる場合があります。 理論的には特定のセルに地雷が存在する可能性があるが、厳密に定義された場所に複数の地雷が配置されている場合、これは達成されます。もちろん、このセルをクリックしても安全です。 しかし、個人的には、これらの確率を数学的に正確に計算する方法はほとんどわかりません。 したがって、これらの問題はすべてプログラムに転送する必要がありました。 書くのに2時間かかりましたが、ようやく何十回も試してみて勝ちました!



実際にプログラム自体:



アルゴリズムは「額」と呼ばれる最も単純な方法で機能します。ユーザーが地雷原からデータを入力し、ボタンを押すと、プログラムは不足している地雷をランダムに配列に配置しますが、入力されたデータを満たします。 地雷の充填は非常に多くの回数行われますが、地雷が各セルを訪れた回数を計算し、この数を反復回数で割っています。 つまり、各セルに地雷が存在するおおよその確率が取得され、画面に表示されます(パーセント単位)。 (プログラマーと数学者、あまりscられないでください:)



データ入力:





結果:





彼女が誰かに興味を持っているなら、私は仕事についていくつかの言葉を言うでしょう。

サッパーをプレイするときは、現在の状況に関するデータをセルに入力する必要があります。 セルは空(何も知られていない場合)、0〜8の数字、またはセルにマイニング済みのフラグが付いている場合は文字「m」にすることができます。 右側の3つのボタンはすべて確率を計算します。違いは、反復の異なる数(100、1000、10000)にあります。 したがって、計算が長すぎるため、最初のボタンを押すことをお勧めします。

残りは明らかです。 こちら (200kb)からダウンロードできます。 すぐに「馬鹿からの」保護が欠如していることをおaびします。



サッパーが縛られているすべて。 少なくとも数日間。










All Articles