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