update farm for 4.0
This commit is contained in:
6
crops.py
6
crops.py
@@ -142,7 +142,7 @@ class Crops(GameBase):
|
|||||||
# get an updated image of the game
|
# get an updated image of the game
|
||||||
screenshot = self.capture_window.get_screenshot()
|
screenshot = self.capture_window.get_screenshot()
|
||||||
# screenshot = cv.imread("playfield.jpg")
|
# screenshot = cv.imread("playfield.jpg")
|
||||||
screenshot = screenshot[58:1134, 230:2113] # 1883,1076
|
screenshot = screenshot[190:1230, 260:2090]
|
||||||
self.screenshot = screenshot
|
self.screenshot = screenshot
|
||||||
# gray = cv.cvtColor(screenshot, cv.COLOR_BGR2GRAY)
|
# gray = cv.cvtColor(screenshot, cv.COLOR_BGR2GRAY)
|
||||||
# thresh = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV + cv.THRESH_OTSU)[1]
|
# thresh = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV + cv.THRESH_OTSU)[1]
|
||||||
@@ -153,11 +153,11 @@ class Crops(GameBase):
|
|||||||
self.current_strategy = RAINBOW_STRATEGY
|
self.current_strategy = RAINBOW_STRATEGY
|
||||||
cv.waitKey(500)
|
cv.waitKey(500)
|
||||||
screenshot = self.capture_window.get_screenshot()
|
screenshot = self.capture_window.get_screenshot()
|
||||||
screenshot = screenshot[58:1134, 230:2113]
|
screenshot = screenshot[190:1230, 260:2090]
|
||||||
if self.check_for_button_and_execute(screenshot, self.next_level_x, offset_left, offset_down):
|
if self.check_for_button_and_execute(screenshot, self.next_level_x, offset_left, offset_down):
|
||||||
cv.waitKey(500)
|
cv.waitKey(500)
|
||||||
screenshot = self.capture_window.get_screenshot()
|
screenshot = self.capture_window.get_screenshot()
|
||||||
screenshot = screenshot[58:1134, 230:2113]
|
screenshot = screenshot[190:1230, 260:2090]
|
||||||
|
|
||||||
# cv.imshow("screenshot", screenshot)
|
# cv.imshow("screenshot", screenshot)
|
||||||
# cv.waitKey(150)
|
# cv.waitKey(150)
|
||||||
|
|||||||
17
farm.py
17
farm.py
@@ -31,6 +31,8 @@ class Farm(GameBase):
|
|||||||
def __init__(self, overlay):
|
def __init__(self, overlay):
|
||||||
super().__init__(overlay)
|
super().__init__(overlay)
|
||||||
|
|
||||||
|
self.farm_reset_board = cv.imread("control_elements/farm_reset_button.jpg", cv.IMREAD_COLOR)
|
||||||
|
|
||||||
self.colors.append(PINK)
|
self.colors.append(PINK)
|
||||||
|
|
||||||
self.fill_data_coordinates()
|
self.fill_data_coordinates()
|
||||||
@@ -78,7 +80,7 @@ class Farm(GameBase):
|
|||||||
return
|
return
|
||||||
elif self.reset_counter >= 3:
|
elif self.reset_counter >= 3:
|
||||||
screenshot = self.capture_window.get_screenshot()
|
screenshot = self.capture_window.get_screenshot()
|
||||||
if self.check_for_button_and_execute(screenshot, self.reset_board):
|
if self.check_for_button_and_execute(screenshot, self.farm_reset_board):
|
||||||
cv.waitKey(500)
|
cv.waitKey(500)
|
||||||
screenshot = self.capture_window.get_screenshot()
|
screenshot = self.capture_window.get_screenshot()
|
||||||
if self.check_for_button_and_execute(screenshot, self.reset_confirm):
|
if self.check_for_button_and_execute(screenshot, self.reset_confirm):
|
||||||
@@ -97,21 +99,22 @@ class Farm(GameBase):
|
|||||||
# get an updated image of the game
|
# get an updated image of the game
|
||||||
screenshot = self.capture_window.get_screenshot()
|
screenshot = self.capture_window.get_screenshot()
|
||||||
# screenshot = cv.imread("field_farm.jpg")
|
# screenshot = cv.imread("field_farm.jpg")
|
||||||
screenshot = screenshot[58:1134, 230:2113] # 1883,1076
|
screenshot = screenshot[190:1230, 260:2090] # 1883,1076
|
||||||
# gray = cv.cvtColor(screenshot, cv.COLOR_BGR2GRAY)
|
# gray = cv.cvtColor(screenshot, cv.COLOR_BGR2GRAY)
|
||||||
# thresh = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV + cv.THRESH_OTSU)[1]
|
# thresh = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV + cv.THRESH_OTSU)[1]
|
||||||
if self.check_for_next_level(screenshot, self.next_level):
|
if self.check_for_next_level(screenshot, self.next_level):
|
||||||
cv.waitKey(500)
|
cv.waitKey(500)
|
||||||
screenshot = self.capture_window.get_screenshot()
|
screenshot = self.capture_window.get_screenshot()
|
||||||
screenshot = screenshot[58:1134, 230:2113]
|
screenshot = screenshot[190:1230, 260:2090]
|
||||||
if self.check_for_next_level(screenshot, self.next_level_x):
|
if self.check_for_next_level(screenshot, self.next_level_x):
|
||||||
cv.waitKey(500)
|
cv.waitKey(500)
|
||||||
screenshot = self.capture_window.get_screenshot()
|
screenshot = self.capture_window.get_screenshot()
|
||||||
screenshot = screenshot[58:1134, 230:2113]
|
screenshot = screenshot[190:1230, 260:2090]
|
||||||
|
|
||||||
# cv.imshow("screenshot", screenshot)
|
#cv.imshow("screenshot", screenshot)
|
||||||
# cv.waitKey(150)
|
#cv.waitKey(150)
|
||||||
# continue
|
#return
|
||||||
|
#continue
|
||||||
data_coords = np.zeros((8, 14), dtype=object)
|
data_coords = np.zeros((8, 14), dtype=object)
|
||||||
# field = Field()
|
# field = Field()
|
||||||
for needle_key in self.needles.keys():
|
for needle_key in self.needles.keys():
|
||||||
|
|||||||
@@ -104,10 +104,12 @@ class GameBase:
|
|||||||
def assess_playfield_and_make_move(self):
|
def assess_playfield_and_make_move(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
#screenshot = screenshot[190:1230, 260:2090]
|
||||||
|
#[58: 1134, 230: 2113]
|
||||||
def fill_data_coordinates(self):
|
def fill_data_coordinates(self):
|
||||||
# 230 to 2110 = 1883 / 14 = 134.5
|
# 260 to 2090 = 1883 / 14 = 130
|
||||||
# 60 to 1130 = 1076 / 8 = 134.5
|
# 190 to 1230 = 1076 / 8 = 130
|
||||||
dim = 134.5
|
dim = 130
|
||||||
for e in range(0, 8, 1):
|
for e in range(0, 8, 1):
|
||||||
for i in range(0, 14, 1):
|
for i in range(0, 14, 1):
|
||||||
self.data_coordinates[e][i] = [i * dim, e * dim, dim, dim]
|
self.data_coordinates[e][i] = [i * dim, e * dim, dim, dim]
|
||||||
@@ -121,8 +123,8 @@ class GameBase:
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def check_for_next_level(self, screen, needle):
|
def check_for_next_level(self, screen, needle):
|
||||||
offset_left = 230
|
offset_left = 260
|
||||||
offset_down = 58
|
offset_down = 190
|
||||||
rectangles = self.vision_stun.find(screen, needle, 0.70, 1)
|
rectangles = self.vision_stun.find(screen, needle, 0.70, 1)
|
||||||
if len(rectangles) == 0:
|
if len(rectangles) == 0:
|
||||||
return False
|
return False
|
||||||
@@ -218,8 +220,8 @@ class GameBase:
|
|||||||
return int(center_x), int(center_y)
|
return int(center_x), int(center_y)
|
||||||
|
|
||||||
def move_tile(self, point_source, point_dest):
|
def move_tile(self, point_source, point_dest):
|
||||||
offset_left = 230
|
offset_left = 260
|
||||||
offset_down = 58
|
offset_down = 190
|
||||||
pydirectinput.moveTo(point_source[0] + offset_left, point_source[1] + offset_down)
|
pydirectinput.moveTo(point_source[0] + offset_left, point_source[1] + offset_down)
|
||||||
# pydirectinput.moveTo(0,0)
|
# pydirectinput.moveTo(0,0)
|
||||||
pydirectinput.mouseDown()
|
pydirectinput.mouseDown()
|
||||||
|
|||||||
Reference in New Issue
Block a user