Exemplo n.º 1
0
def decide():
    existed = check_exists()

    if len(existed) == 0:
        exists = get_exists()
        existed = exists
    elif len(existed) == 3:
        existed = existed
    elif len(existed) != 0:
        exists = [i for i in range(5)]
        existss = [i for i in range(5)]
        for exist in existed:
            for exis in exists:
                tmp = f"./temp/servant{exist}.png"
                pic = f"./temp/{exis}.png"
                if check(pic, tmp, 0.9) == 1:
                    existss.remove(exis)

        for existe in existss:
            tmp = f"./temp/s{existe}.png"
            for exise in existss:
                if existe != exise:
                    pic = f"./temp/{exise}.png"
                    if check(pic, tmp, 0.9) == 1:
                        existss.remove(exise)

        for i in existss:
            im = Image.open(f"./temp/s{i}.png")
            im.save(f"./temp/servant{i}.png")

        existed = existed + existss

    print(existed)
    return existed
Exemplo n.º 2
0
def match_servants():
    servants = []
    for i in range(5):
        if os.path.exists(f"./temp/servant{i}.png") == 1:
            servants.append(i)

    for j in range(len(servants)):
        nobles[j].servant = servants[j]

    img = Image.open("./temp/np.png")
    img_size = img.size
    gap = (img_size[0] - 1920) / 2
    length = 384  # 1920/5
    exactx = 210
    orgx = gap + length + exactx
    height = img_size[1]
    exacty = height * 2 / 3

    for servant in servants:
        templ = f"./temp/servant{servant}.png"
        for i in range(3):
            img = f"./temp/np{i}.png"
            if check(img, templ, 0.68) == 1:
                x = orgx + i * length
                y = exacty
                nobles[i].crd = [x, y]
Exemplo n.º 3
0
 def recover(self):
     apple_path = f"./assets/scene/{apple}.png"
     decide_path = f"./assets/scene/{decide}.png"
     if check(self.scene, apple_path, 0.9) == 1:
         position = filter_crd(self.scene, apple_path, 0.9)
         self.crd[0] = position[0][0]
         self.crd[1] = position[0][1]
         print("Apple: ", self.crd[0], self.crd[1])
         basic_tap(self.crd[0], self.crd[1])
         self.done = 1
     if check(self.scene, decide_path, 0.9) == 1:
         position = filter_crd(self.scene, decide_path, 0.9)
         self.crd[0] = position[0][0]
         self.crd[1] = position[0][1]
         print("Decide: ", self.crd[0], self.crd[1])
         basic_tap(self.crd[0], self.crd[1])
         self.done = 2
Exemplo n.º 4
0
def init_extra():
    exists = decide()
    counts = [i for i in range(len(exists))]
    for count in counts:
        servants[count].order = exists[count]
    # mark servants
    for coun in counts:
        stmp = f"./temp/s{servants[coun].order}.png"
        for k in range(5):
            spic = f"./temp/{k}.png"
            if check(spic, stmp, 0.9) == 1:
                servants[coun].count.append(k)
Exemplo n.º 5
0
def init_extra():
    exists = [i for i in range(5)]
    # filter same servants
    for exist in exists:
        tmp = f"./temp/s{exist}.png"
        for exis in exists:
            if exist != exis:
                pic = f"./temp/{exis}.png"
                if check(pic, tmp, 0.9) == 1:
                    exists.remove(exis)

    counts = [i for i in range(len(exists))]
    for count in counts:
        servants[count].order = exists[count]
    # mark servants
    for coun in counts:
        stmp = f"./temp/s{servants[coun].order}.png"
        for k in range(5):
            spic = f"./temp/{k}.png"
            if check(spic, stmp, 0.9) == 1:
                servants[coun].count.append(k)
Exemplo n.º 6
0
def get_exists():
    exists = [i for i in range(5)]
    # filter same servants
    for exist in exists:
        tmp = f"./temp/s{exist}.png"
        for exis in exists:
            if exist != exis:
                pic = f"./temp/{exis}.png"
                if check(pic, tmp, 0.9) == 1:
                    exists.remove(exis)
    for i in exists:
        im = Image.open(f"./temp/s{i}.png")
        im.save(f"./temp/servant{i}.png")

    return exists
Exemplo n.º 7
0
    def pass_finish(self):
        for finish_scene in finish_scenes:
            scene_path = f"./assets/scene/{finish_scene}.png"
            if check(self.scene, scene_path, 0.9) == 1:
                im = Image.open(f"./{self.scene}")
                im_size = im.size
                x0 = im_size[0] / 4
                y0 = im_size[0] / 4
                x = random.randrange(-x0, x0) + (im_size[0] / 2)
                y = random.randrange(-y0, y0) + (im_size[1] / 2)

                self.crd = [x, y]
                out = "[FINISH] Checked: " + str(finish_scene) + " " + str(x) + " " + str(y)
                print(out)
                output_log(out)
                basic_tap(self.crd[0], self.crd[1])
Exemplo n.º 8
0
from util.cvs import check

# template path
tmpl = "assets/battle/arts.png"

# tested image path
img = "assets/test/t2.jpeg"

# the threshold
threshold = 0.9

# match template
result = check(img, tmpl, threshold)
print(result)