이 스크립트를 사용하여 Google의 지뢰찾기 게임을 이겨보세요. 필요한 라이브러리: numpy , opencv2 , pyautogui .
다음 명령을 사용하여 이 프로젝트를 다운로드합니다.
https://github.com/EnriqueMoran/google-minesweeper-bot.git
그런 다음 다음 명령을 사용하여 필요한 라이브러리를 설치하십시오.
pip install pyautogui opencv-python numpy
설치가 완료되면 지뢰찾기.py 파일을 마우스 오른쪽 버튼으로 클릭하고 IDLE로 편집하세요. Google 지뢰 찾기 게임을 열고 게임 창이 완전히 보이는지 확인한 다음 Python IDLE을 클릭하고 F5를 누르세요.
참고: 스크립트를 처음 실행하면 게임 창 위에 배치될 수 있는 새 창이 열릴 것입니다. 밖으로 이동하여 크기를 조정하기만 하면 됩니다.
중요: 스크립트 실행을 중단해야 하는 경우 화면 왼쪽 상단에 마우스를 놓습니다.
이동할 때마다 스크린샷이 찍히고 녹색이 아닌 각 셀(알 수 없는 셀)이 인식됩니다.
다음으로, 각 셀은 인접한 셀에 플래그를 배치했는지 확인됩니다. 사용된 알고리즘은 다음과 같습니다.
플래그가 지정된 인접 셀의 수가 확인된 셀의 점수보다 작고 알 수 없는 인접 셀과 플래그가 지정된 셀의 수가 점수보다 작은 경우 알 수 없는 인접 셀 중 하나에 플래그를 배치합니다.
플래그가 지정된 인접 셀의 수가 점수와 같고 알 수 없는 인접 셀의 수가 0보다 큰 경우 해당 셀 중 하나를 클릭합니다.
어떤 작업에도 유효한 셀이 없으면 알 수 없는 무작위 셀이 클릭됩니다.
더 이상 플래그가 남아 있지 않으면 게임이 종료되고 스크립트가 중지됩니다. 임의의 셀을 클릭하여 게임이 패배하는 경우 점수창이 인식되면 스크립트도 중지됩니다.
v1.0 성능은 새 스크린샷을 찍기 위해 셀을 클릭한 후 스크립트가 기다리는 시간을 설정하는 속도 매개변수에 따라 달라집니다.
속도 | N° 게임 | 쉬운 승리/패배 | 일반 승리/패배 | 어려운 승리/패배 | 쉬운 평균 시간 | 일반 평균 시간 | 하드 평균 시간 |
---|---|---|---|---|---|---|---|
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 |
v1.2에서는 opencv2 템플릿 일치가 더 이상 사용되지 않습니다. 점수는 픽셀 색상에서 얻습니다. 쉬움 및 보통 난이도의 속도 성능이 향상되었습니다. 무작위로 클릭해야 할 때 적용할 규칙을 추가해야 합니다.
속도 | N° 게임 | 쉬운 승리/패배 | 일반 승리/패배 | 어려운 승리/패배 | 쉬운 평균 시간 | 일반 평균 시간 | 하드 평균 시간 |
---|---|---|---|---|---|---|---|
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 |
무작위 클릭에 대한 규칙을 추가합니다.