diff --git a/fruit.py b/fruit.py index 9fd0ecb..7f5c67a 100644 --- a/fruit.py +++ b/fruit.py @@ -20,6 +20,9 @@ class Fruit(GameBase): self.colors = [GREEN, YELLOW, RED, BLUE, ORANGE] + self.offset_left = 553 + self.offset_down = 188 + self.fill_data_coordinates() self.needles = {GREEN: cv.imread("fruit/green.jpg", cv.IMREAD_COLOR), @@ -30,9 +33,9 @@ class Fruit(GameBase): } def fill_data_coordinates(self): - # 540 to 1870 = 1330 / 11 = 121 - # 180 to 1030 = 1076 / 8 = 121.4 - dim = 121.2 + # 553 to 1861 = 1330 / 11 = 119 + # 188 to 1022 = 1076 / 7 = 119 + dim = 119 for e in range(0, 7, 1): for i in range(0, 11, 1): self.data_coordinates[e][i] = [i * dim, e * dim, dim, dim] @@ -71,16 +74,18 @@ class Fruit(GameBase): def get_current_board_state(self): # get an updated image of the game screenshot = self.capture_window.get_screenshot() - screenshot = screenshot[900:1100, 1100:1450] + #screenshot = screenshot[900:1030, 540:1870] # screenshot = cv.imread("field_farm.jpg") # gray = cv.cvtColor(screenshot, cv.COLOR_BGR2GRAY) # thresh = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV + cv.THRESH_OTSU)[1] - if self.check_for_button_and_execute(screenshot, self.ok_button, 900, 1100): + if self.check_for_button_and_execute(screenshot, self.ok_button): cv.waitKey(500) screenshot = self.capture_window.get_screenshot() - screenshot = screenshot[180:1030, 540:1870] + screenshot = screenshot[188:1022, 553:1861] + # 553 to 1861 = 1330 / 11 = 119 + # 188 to 1022 # cv.imshow("screenshot", screenshot) # cv.waitKey(150) # continue @@ -133,15 +138,13 @@ class Fruit(GameBase): def check_pairs(self, state, e, i, color): try: # - offset_left = 540 - offset_down = 180 if state[e, i] == color and state[e + 1, i] == color: click_pt = self.get_click_point(self.data_coordinates[e, i]) - self.dig_point(click_pt[0] + offset_left, click_pt[1] + offset_down, 100) + self.dig_point(click_pt[0] + self.offset_left, click_pt[1] + self.offset_down, 100) return True elif state[e, i] == color and state[e, i + 1] == color: click_pt = self.get_click_point(self.data_coordinates[e, i]) - self.dig_point(click_pt[0] + offset_left, click_pt[1] + offset_down, 100) + self.dig_point(click_pt[0] + self.offset_left, click_pt[1] + self.offset_down, 100) return True return False except: