diff --git a/digging_main2.py b/digging_main2.py index 0a212c6..8d342d2 100644 --- a/digging_main2.py +++ b/digging_main2.py @@ -1,3 +1,5 @@ +import sys + from config_file import UserConfigs import keyboard import cv2 as cv @@ -14,7 +16,6 @@ def run(): capture_config = UserConfigs() capture_window = WindowCapture(None, "screen_conf", capture_config) - # initialize the StunVision class vision_stun = Vision() dig_overlay = DiggingOverlay(config) @@ -27,158 +28,171 @@ def run(): plot_size = 45 DIG_TIME = 100 - while True: - if keyboard.is_pressed('p') == True: - pause = True - print('q pressed') - elif keyboard.is_pressed('o') == True: - pause = False - print('o pressed') - if pause: - # cv.waitKey(500) - dig_overlay.show_window() - print("pausing") - continue - dig_overlay.hide_window() + runcounter = 2 - if level >= 28: - break - if level == 23: - DIG_TIME = 800 - if level == 26: - DIG_TIME = 1800 - if level <= 10: - plot_size = plot_size - 1 - elif level % 2 == 0: - plot_size = plot_size - 1 + if runcounter == 2: + double_dig = True + else: + double_dig = False - p1 = int((config.returnDiggingWindowPos2()[0] / 2) + config.returnDiggingWindowPos2()[2]) - p2 = int((config.returnDiggingWindowPos2()[1] / 2) + config.returnDiggingWindowPos2()[3]) - - # start 705 , 564 -> click - # move L D -> click - # move U , U , R, R , D , D , L , L - # move L D - # move U , U , U , U , R, R , R, R, D, D, D, D, L, L, L , L - dig_point(p1, p2, DIG_TIME) - # cv.circle(screenshot, (p1, p2), 7, (0, 255, 0), -1) - i = 0 - for e in range(2, width, 2): - i = i + 1 - - tp1 = p1 - (i * plot_size) - tp2 = p2 + (i * plot_size) - for f in range(0, e, 1): - # up click - tp2 = tp2 - plot_size - if tp2 >= config.returnDiggingWindowPos2()[1] + (plot_size / 2): - continue - if tp2 <= config.returnDiggingWindowPos2()[3] + (plot_size / 2): - continue - ''' - x = int(tp1 - (plot_size / 2)) - y = int(tp2 - ((e * plot_size) - (plot_size / 2))) - w = plot_size - h = plot_size * e - - capture_win_lanes = WindowCapture(None, "lanes", None, (w, h, x+w, y+h)) - screenshot = capture_win_lanes.get_screenshot() - needlew = cv.imread("test1.jpg", cv.IMREAD_UNCHANGED) - res = vision_stun.find(needlew, screenshot, 0.9, 1) - if len(res) >= 1: - break - #vision_stun.draw_rectangles(needlew, res) - #cv.imshow("screenshot", needlew) - #cv.waitKey(150) - - - # ul[0], ul[1], plot_size, plotsize*e - - # ll -> tp1 - plot/2 ooooooooooo - # -> tp2 + plot/2 - # ul -> tp1 - plot/2 - # -> tp2 - e*plot - plot/2 - # lr -> tp1 + plot/2 - # -> tp2 - plot/2 - # ur -> tp1 + plot/2 - # -> tp2 - e*plot - plot/2 - ''' - dig_point(tp1, tp2, DIG_TIME) - # cv.circle(screenshot, (tp1, tp2), 7, (255, 0, 255), -1) - # cv.imshow("screenshot", screenshot) - # cv.waitKey(150) - check_for_ok_button(capture_window, vision_stun, capture_config) - if keyboard.is_pressed('p') == True or pause == True: - pause = True - break - - tp1 = p1 - (i * plot_size) - tp2 = p2 - (i * plot_size) - for g in range(0, e, 1): - # right click - tp1 = tp1 + plot_size - if tp2 <= config.returnDiggingWindowPos2()[3] + (plot_size / 2): - continue - - # ll -> tp1 - plot/2 - # -> tp2 + plot/2 - # ul -> tp1 - plot/2 - # -> tp2 - plot/2 - # lr -> tp1 + e*plot + plot/2 - # -> tp2 + plot/2 - # ur -> tp1 + e*plot + plot/2 - # -> tp2 - plot/2 - - dig_point(tp1, tp2, DIG_TIME) - # cv.circle(screenshot, (tp1, tp2), 7, (127, 0, 255), -1) - # cv.imshow("screenshot", screenshot) - # cv.waitKey(150) - check_for_ok_button(capture_window, vision_stun, capture_config) - if keyboard.is_pressed('p') == True or pause == True: - pause = True - break - - tp1 = p1 + (i * plot_size) - tp2 = p2 - (i * plot_size) - for r in range(0, e, 1): - # down click - tp2 = tp2 + plot_size - if tp2 >= config.returnDiggingWindowPos2()[1] + (plot_size / 2): - continue - if tp2 <= config.returnDiggingWindowPos2()[3] + (plot_size / 2): - continue - dig_point(tp1, tp2, DIG_TIME) - # cv.circle(screenshot, (tp1, tp2), 7, (255, 0, 127), -1) - # cv.imshow("screenshot", screenshot) - # cv.waitKey(150) - check_for_ok_button(capture_window, vision_stun, capture_config) - if keyboard.is_pressed('p') == True or pause == True: - pause = True - break - - tp1 = p1 + (i * plot_size) - tp2 = p2 + (i * plot_size) - for u in range(0, e, 1): - # left click - tp1 = tp1 - plot_size - if tp2 >= config.returnDiggingWindowPos2()[1] + (plot_size / 2): - continue - dig_point(tp1, tp2, DIG_TIME) - # cv.circle(screenshot, (tp1, tp2), 7, (0, 0, 255), -1) - # cv.imshow("screenshot", screenshot) - # cv.waitKey(150) - check_for_ok_button(capture_window, vision_stun, capture_config) - if keyboard.is_pressed('p') == True or pause == True: - pause = True - break - if keyboard.is_pressed('p') == True or pause == True: - pause = True - break - if keyboard.is_pressed('p') == True or pause == True: + while runcounter != 0: + if double_dig and runcounter == 1: + dig_point(290, 100, 200) + cv.waitKey(2000) + runcounter = runcounter - 1 + while True: + if keyboard.is_pressed('p') == True: pause = True + print('q pressed') + elif keyboard.is_pressed('o') == True: + pause = False + print('o pressed') + if pause: + # cv.waitKey(500) + dig_overlay.show_window() + print("pausing") + continue + dig_overlay.hide_window() + + if level >= 28: break - level = level + 1 + if level == 23: + DIG_TIME = 800 + if level == 26: + DIG_TIME = 1800 + if level <= 10: + plot_size = plot_size - 1 + elif level % 2 == 0: + plot_size = plot_size - 1 + + p1 = int((config.returnDiggingWindowPos2()[0] / 2) + config.returnDiggingWindowPos2()[2]) + p2 = int((config.returnDiggingWindowPos2()[1] / 2) + config.returnDiggingWindowPos2()[3]) + + # start 705 , 564 -> click + # move L D -> click + # move U , U , R, R , D , D , L , L + # move L D + # move U , U , U , U , R, R , R, R, D, D, D, D, L, L, L , L + dig_point(p1, p2, DIG_TIME) + # cv.circle(screenshot, (p1, p2), 7, (0, 255, 0), -1) + i = 0 + for e in range(2, width, 2): + i = i + 1 + + tp1 = p1 - (i * plot_size) + tp2 = p2 + (i * plot_size) + for f in range(0, e, 1): + # up click + tp2 = tp2 - plot_size + if tp2 >= config.returnDiggingWindowPos2()[1] + (plot_size / 2): + continue + if tp2 <= config.returnDiggingWindowPos2()[3] + (plot_size / 2): + continue + ''' + x = int(tp1 - (plot_size / 2)) + y = int(tp2 - ((e * plot_size) - (plot_size / 2))) + w = plot_size + h = plot_size * e + + capture_win_lanes = WindowCapture(None, "lanes", None, (w, h, x+w, y+h)) + screenshot = capture_win_lanes.get_screenshot() + needlew = cv.imread("test1.jpg", cv.IMREAD_UNCHANGED) + res = vision_stun.find(needlew, screenshot, 0.9, 1) + if len(res) >= 1: + break + #vision_stun.draw_rectangles(needlew, res) + #cv.imshow("screenshot", needlew) + #cv.waitKey(150) + + + # ul[0], ul[1], plot_size, plotsize*e + + # ll -> tp1 - plot/2 ooooooooooo + # -> tp2 + plot/2 + # ul -> tp1 - plot/2 + # -> tp2 - e*plot - plot/2 + # lr -> tp1 + plot/2 + # -> tp2 - plot/2 + # ur -> tp1 + plot/2 + # -> tp2 - e*plot - plot/2 + ''' + dig_point(tp1, tp2, DIG_TIME) + # cv.circle(screenshot, (tp1, tp2), 7, (255, 0, 255), -1) + # cv.imshow("screenshot", screenshot) + # cv.waitKey(150) + check_for_ok_button(capture_window, vision_stun, capture_config) + if keyboard.is_pressed('p') == True or pause == True: + pause = True + break + + tp1 = p1 - (i * plot_size) + tp2 = p2 - (i * plot_size) + for g in range(0, e, 1): + # right click + tp1 = tp1 + plot_size + if tp2 <= config.returnDiggingWindowPos2()[3] + (plot_size / 2): + continue + + # ll -> tp1 - plot/2 + # -> tp2 + plot/2 + # ul -> tp1 - plot/2 + # -> tp2 - plot/2 + # lr -> tp1 + e*plot + plot/2 + # -> tp2 + plot/2 + # ur -> tp1 + e*plot + plot/2 + # -> tp2 - plot/2 + + dig_point(tp1, tp2, DIG_TIME) + # cv.circle(screenshot, (tp1, tp2), 7, (127, 0, 255), -1) + # cv.imshow("screenshot", screenshot) + # cv.waitKey(150) + check_for_ok_button(capture_window, vision_stun, capture_config) + if keyboard.is_pressed('p') == True or pause == True: + pause = True + break + + tp1 = p1 + (i * plot_size) + tp2 = p2 - (i * plot_size) + for r in range(0, e, 1): + # down click + tp2 = tp2 + plot_size + if tp2 >= config.returnDiggingWindowPos2()[1] + (plot_size / 2): + continue + if tp2 <= config.returnDiggingWindowPos2()[3] + (plot_size / 2): + continue + dig_point(tp1, tp2, DIG_TIME) + # cv.circle(screenshot, (tp1, tp2), 7, (255, 0, 127), -1) + # cv.imshow("screenshot", screenshot) + # cv.waitKey(150) + check_for_ok_button(capture_window, vision_stun, capture_config) + if keyboard.is_pressed('p') == True or pause == True: + pause = True + break + + tp1 = p1 + (i * plot_size) + tp2 = p2 + (i * plot_size) + for u in range(0, e, 1): + # left click + tp1 = tp1 - plot_size + if tp2 >= config.returnDiggingWindowPos2()[1] + (plot_size / 2): + continue + dig_point(tp1, tp2, DIG_TIME) + # cv.circle(screenshot, (tp1, tp2), 7, (0, 0, 255), -1) + # cv.imshow("screenshot", screenshot) + # cv.waitKey(150) + check_for_ok_button(capture_window, vision_stun, capture_config) + if keyboard.is_pressed('p') == True or pause == True: + pause = True + break + if keyboard.is_pressed('p') == True or pause == True: + pause = True + break + if keyboard.is_pressed('p') == True or pause == True: + pause = True + break + level = level + 1 if __name__ == "__main__": run() + sys.exit()