Kalahkan game Minesweeper Google menggunakan skrip ini. Perpustakaan yang diperlukan: numpy , opencv2 , pyautogui .
Unduh proyek ini menggunakan perintah ini:
https://github.com/EnriqueMoran/google-minesweeper-bot.git
Selanjutnya, instal perpustakaan yang diperlukan menggunakan perintah berikut:
pip install pyautogui opencv-python numpy
Setelah instalasi selesai, klik kanan pada file Minesweeper.py dan edit dengan IDLE. Buka game Google Minesweeper dan pastikan jendela game terlihat sepenuhnya, lalu klik python IDLE dan tekan F5.
Catatan: Pertama kali Anda menjalankan skrip akan membuka jendela baru yang mungkin ditempatkan di atas jendela permainan, cukup keluarkan dan ubah ukurannya.
Penting: Jika Anda perlu membatalkan eksekusi skrip, letakkan mouse di pojok kiri atas layar Anda.
Pada setiap gerakan, tangkapan layar diambil dan setiap sel yang tidak berwarna hijau dikenali (sel tidak dikenal).
Selanjutnya, setiap sel diperiksa untuk menempatkan bendera pada sel yang berdekatan. Algoritma yang digunakan adalah sebagai berikut:
Jika jumlah sel berdekatan yang ditandai lebih kecil dari skor sel yang diperiksa dan jumlah sel berdekatan yang tidak diketahui ditambah sel yang ditandai lebih kecil dari skor, maka tempatkan tanda pada salah satu sel berdekatan yang tidak diketahui.
Jika jumlah sel berdekatan yang ditandai sama dengan skor dan jumlah sel berdekatan yang tidak diketahui lebih besar dari 0, klik salah satu sel tersebut.
Jika tidak ada sel yang valid untuk tindakan apa pun, sel acak yang tidak diketahui akan diklik.
Setelah tidak ada lagi bendera yang tersisa, permainan dihentikan dan skrip berhenti. Jika permainan hilang ketika mengklik sel acak, jika jendela skor dikenali, skrip juga akan berhenti.
Performa pada v1.0 bergantung pada parameter kecepatan yang mengatur waktu tunggu skrip setelah mengklik sel untuk mengambil tangkapan layar baru.
Kecepatan | Tidak ada Permainan | Menang/kalah dengan mudah | Menang/kalah biasa | Menang/kalah yang sulit | Rata-rata Mudah Waktu | Rata-rata Biasa. Waktu | Rata-rata Keras. Waktu |
---|---|---|---|---|---|---|---|
0,05 | 10 | 9/1 | 5/5 | 3/7 | 27.55 | 258.6 | 854 |
0,10 | 10 | 8/2 | 8/2 | 0/10 | 28.875 | 235.83 | - |
0,15 | 10 | 9/1 | 10/0 | 2/8 | 27.2 | 214.66 | 812.5 |
Pada v1.2, pencocokan template opencv2 tidak lagi digunakan. Skor diperoleh dari warna pikselnya. Performa kecepatan telah ditingkatkan pada tingkat kesulitan mudah dan normal. Menambahkan aturan untuk diterapkan ketika diperlukan klik acak.
Kecepatan | Tidak ada Permainan | Menang/kalah dengan mudah | Menang/kalah biasa | Menang/kalah yang sulit | Rata-rata Mudah Waktu | Rata-rata Biasa. Waktu | Rata-rata Keras. Waktu |
---|---|---|---|---|---|---|---|
0,015 | 10 | 8/2 | 4/6 | 0/10 | 11.25 | 42 | - |
0,05 | 10 | 7/3 | 5/5 | 1/9 | 11.28 | 44.6 | 113 |
Tambahkan aturan untuk klik acak.