eod.sikuli\eod.sikuli

(Download this script)
import random

reg = Region(find())

cell = {
    'unknown': [
        Pattern().similar(0.98),
        Pattern().similar(0.98),
        Pattern().similar(0.98),
        ],
    'question': Pattern().similar(0.90),
    'exploded': Pattern().similar(0.90)}

patterns = [
    Pattern().similar(0.97).targetOffset(-14,-14),
    Pattern().similar(0.97).targetOffset(14,-14),
    Pattern().similar(0.97).targetOffset(14,-14),
    Pattern().similar(0.97).targetOffset(-14,14),
    Pattern().similar(0.97).targetOffset(14,14),
    Pattern().similar(0.97).targetOffset(14,14),
    Pattern().similar(0.97).targetOffset(9,-18),
    Pattern().similar(0.97).targetOffset(9,-18),
    Pattern().similar(0.97).targetOffset(9,18),
    Pattern().similar(0.97).targetOffset(9,18),
    Pattern().similar(0.97).targetOffset(20,10),
    Pattern().similar(0.97).targetOffset(-16,11),
    ]

def unknownCellExists():
    result = False
    for cu in cell['unknown']:
        if reg.exists(cu):
            result = True
    return result

while unknownCellExists():
    for pattern in patterns:
        while reg.exists(pattern):
            print(pattern)
            rightClick(reg.find(pattern))
            if reg.exists(cell['question']):
                q = reg.find(cell['question'])
                rightClick(q)
                rightClick(q)
    if unknownCellExists():
        click(random.choice(cell['unknown']))
    if exists(cell['exploded']):
        break