AutoHotKeyでマインスイーパを自動で解く

マインスイーパを自動で解くっていっても、裏技使ってるからなんともいえない。
しかも、ニコ動でTASさんが解いたほうが断トツで速いと。。。

でも、このAutoHotKeyってソフトWindowsの作業をほとんど自動化してくれるので便利。


日本語対応で文字形式はUTF-8だから注意してね。
あと、色付けはBasicにしてみた。あと、XPで動いてる。

; utf-8
mode := ""
mineHeight := 0
mineWidth := 0

Gui, Add, Radio, vB Checked1, 初級
Gui, Add, Radio, vI, 中級
Gui, Add, Radio, vE, 上級
Gui, Add, Button, , 決定
Gui, Show

Loop
{
  Sleep, 100
}

Button決定:
GUI, Submit

If B = 1
{
  mode := "初級"
  mineHeight := 9
  mineWidth := 9
}
If I = 1
{
  mode := "中級"
  mineHeight := 16
  mineWidth := 16
}
If E = 1
{
  mode := "上級"
  mineHeight := 16
  mineWidth := 30
}

IfWinNotExist マインスイーパ
{
  MsgBox, 4, , マインスイーパを起動しますか?
  IfMsgBox, Yes
  {
    Run, C:\WINDOWS\system32\winmine.exe
  }
  else
  {
    ExitApp
  }
}

WinActivate, マインスイーパ
Send, xyzzy+{Enter}
CoordMode, Pixel, Screen

WinMenuSelectItem, マインスイーパ, , ゲーム, % mode

y := 104
Loop, % mineHeight
{
  x := 24
  Loop, % mineWidth
  {
    MouseMove, % x, % y, 0
    PixelGetColor, color, 0, 0
    If % color = 0xFFFFFF
    {
      MouseClick, Left, % x, % y, 1, 0
    }
    x += 16
  }
  y += 16
}
MsgBox, congratulations!

WinClose, マインスイーパ
Gui, Destroy
GuiClose:
ExitApp