def start_boxing(): error_num = 0 while 1: if IF_START == 0: break if error_num >= 10: break mouse.move(966, 370) mouse.left() time.sleep(0.05) mouse.right() time.sleep(1) mouse.move(970, 580) mouse.left() time.sleep(0.05) mouse.move(1230, 915) loc = 0 loc_p = 0 try: start_time = time.time() while 1: if IF_START == 0: break if time.time() - start_time > 15: break loc = locate_img_array(CROP) if loc in range(135, 151) and loc_p < loc and loc_p != 0: print("Right:\t" + str(loc)) mouse.left() break if loc in range(280, 301) and loc_p > loc and loc_p != 0: print("Left:\t" + str(loc)) mouse.left() break loc_p = loc time.sleep(5) except Exception as e: print('Got an error:', e) error_num += 1
def axe(i, dely, bias): DELY2 = 0.85 #0.2 rp = 0 while 1: if IF_START == 0: break if time.time() - START > 65: break r = pos_r(white_pos(get_screen_arry(CROP))) if i >= TOTAL_DEGREE / 2 and r >= i - dely - bias and r <= i - dely + bias and r > rp: print('Down:\t' + str(r)) mouse.left() return [r, 1] if i <= TOTAL_DEGREE / 2 and r >= i + dely * DELY2 - bias and r <= i + dely * DELY2 + bias and r < rp: print('Up:\t' + str(r)) mouse.left() return [r, 2] rp = r
def start_cutting(): global IF_START global START_POINT global CENTER global END_Y global TOTAL_DEGREE global CROP global START while 1: if IF_START == 0: break mouse.move(965, 380) mouse.left() time.sleep(0.05) mouse.right() time.sleep(1) CROP0 = [427, 472, 452, 872] try: red_line = find_red(transpose(get_screen_arry(CROP0))) except: continue if IF_START == 0: break mouse.move(970, 580) mouse.left() time.sleep(0.05) mouse.move(440, 910) time.sleep(2.1) wp = 0 print(red_line) dis_list = [] for i in range(20): if IF_START == 0: break dis = find_white(transpose(get_screen_arry(CROP0))) dis = abs(find_white(transpose(get_screen_arry(CROP0))) - dis) dis_list.append(dis) dis = np.argmax(np.bincount(dis_list)) dely = int(round(dis * 4.88)) bias = 3 START = time.time() while 1: if IF_START == 0: break if time.time() - START > 10: break white_line = find_white(transpose(get_screen_arry(CROP0))) if red_line[0] >= 200: if white_line in range(red_line[0] + bias - dely, red_line[1] - bias - dely + 1) and white_line > wp: print('Down:\t' + str(white_line)) mouse.left() break if red_line[0] < 200: if white_line in range(red_line[0] + bias + dely, red_line[1] - bias + dely + 1) and white_line < wp: print('Up:\t' + str(white_line)) mouse.left() break wp = white_line # if time.time()-START>10:continue if IF_START == 0: break CROP = [520, 520, 605, 825] CENTER = [396, 676] START_POINT = [536, 532] END_Y = 813 END_X = round( pow( pow(START_POINT[0] - CENTER[0], 2) + pow(START_POINT[1] - CENTER[1], 2) - pow(END_Y - CENTER[1], 2), 0.5) + CENTER[0]) TOTAL_DEGREE = pos_r([END_X, END_Y]) CROP1 = [332, 854, 656, 855] time.sleep(3) START = time.time() dis_list = [] # for i in range (10): # if IF_START==0:break # dis=pos_r(white_pos(get_screen_arry(CROP))) # dis=abs(pos_r(white_pos(get_screen_arry(CROP)))-dis) # if dis!=0:dis_list.append(dis) # dis=np.median(dis_list) # dis=6.2 # print('Speed:\t'+str(dis)) dely = 38 #5*dis #4.5 bias = 3 move_aex = 10 rounds = 0 while 1: if IF_START == 0: break mouse.move(480, 890) find_list = [] old_green = 1 while 1: if IF_START == 0: break if time.time() - START > 65: break find_list = find_pos(find_list) for i in find_list: if IF_START == 0: break print('Find Pos:\t' + str(i)) r = axe(i, dely, bias) time.sleep(3) green = find_green(get_screen_arry(CROP1)) if green < 1: break if green < 1: break print('Green:\t' + str(green)) ni = i count_n = 0 while 1: if IF_START == 0: break if time.time() - START > 65: break if green < 0.05: break if old_green - green <= 0.15: if i >= 45: if ni <= i: count_n += 1 ni = i + move_aex elif ni >= i: count_n += 1 ni = i - move_aex if i < 45: if ni >= i: count_n += 1 ni = i - move_aex elif ni <= i: count_n += 1 ni = i + move_aex if count_n > 2: count_n = 0 ni = i print('Adjust Pos:\t' + str(ni)) axe(ni, dely, bias) time.sleep(3) old_green = green green = find_green(get_screen_arry(CROP1)) print('Time:\t' + str(time.time() - START)) print('Rounds:\t' + str(rounds + 1)) if time.time() - START <= 40 or (time.time() - START <= 50 and rounds <= 2): if IF_START == 0: break time.sleep(2.3) mouse.move(910, 625) mouse.left() time.sleep(0.5) START += 5 rounds += 1 else: if IF_START == 0: break time.sleep(2.2) mouse.move(1010, 625) mouse.left() time.sleep(1.6) break
import lib.key as key import lib.mouse as mouse import time while 1: time.sleep(2) key.press('U') time.sleep(0.02) key.release('U') time.sleep(1) mouse.move(430,680) mouse.left() time.sleep(1) mouse.move(1480,695) mouse.left() time.sleep(13) key.press('Tab') time.sleep(0.02) key.release('Tab') time.sleep(0.02) key.press('W') time.sleep(4) key.release('W') key.press('1') time.sleep(0.02)