示例#1
0
 def __init__(self):
     self.transform = TransForm()
     self.common = Common()
     self.keyboard = KeyBoard()
     self.screen = Screen()
     self.mouse = Mouse()
     self.walking = Walking()
示例#2
0
 def __init__(self):
     self.transform = TransForm()
     self.common = Common()
     self.keyboard = KeyBoard()
     self.screen = Screen()
     self.mouse = Mouse()
     self.yao = ''
     self.offset = 17 + 15
示例#3
0
 def task_start(self):
     time.sleep(2)
     KeyBoard().press_shortcut_key('alt', '1')
     time.sleep(1)
     Mouse().click_element(337, 295)
     time.sleep(3)
     Mouse().click_element(262, 269)
     time.sleep(0.5)
     KeyBoard().press_shortcut_key('alt', '1')
     time.sleep(3)
     KeyBoard().press_shortcut_key('alt', '5')
     time.sleep(1.5)
     Screen().cut_screen()
     time.sleep(1.5)
     zhongkui = Screen().get_location_picture(
         'D:\\dh2\\game\\xiaogui\\0.png')
     if zhongkui is not 0:
         Mouse().click_element(zhongkui[0] - 5, zhongkui[1] - 30)
     Mouse().click_element(237, 399)
     time.sleep(0.5)
     Mouse().click_element(237, 399)
     Mouse().click_element(27, 256)
     time.sleep(1)
     if Common().iswalking() is False:
         Mouse().click_element(zhongkui[0] - 5, zhongkui[1] - 30)
         Mouse().click_element(237, 399)
         time.sleep(0.5)
         Mouse().click_element(237, 399)
         Mouse().click_element(27, 256)
         if Common().iswalking() is False:
             Mouse().click_element(zhongkui[0] - 5, zhongkui[1] - 30)
             Mouse().click_element(237, 399)
             time.sleep(0.5)
             Mouse().click_element(237, 399)
             Mouse().click_element(27, 256)
     Common().capation_eat_xiang()
     time.sleep(15)
     Screen().find_ele_picture('game\\xiaogui\\1', 'mouse', 207, 355)
     for i in range(5):
         time.sleep(2)
         KeyBoard().press_shortcut_key('alt', '8')
         Common().change_teamer()
         Mouse().click_element(412, 429)
         if i is 4:
             pass
         else:
             Common().score_for_shifu()
     Screen().find_ele_picture('game\\xiaogui\\2', 'mouse', 780, 537)
     time.sleep(1)
     Screen().cut_screen()
     box_result = Screen().get_location_picture(
         'D:\\dh2\\game\\xiaogui\\3.png', 0.8)
     if box_result is not 0:
         Mouse().click_element(327, 535)
     Common().score_for_shifu()
示例#4
0
文件: digong.py 项目: Greatwan/dh2
class DiGong():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()

    def task_start(self,type):
        # 0简单 1困难 2卓越
        self.common.get_focus()
        self.keyboard.press_shortcut_key('alt', '2', times=0.5)
        self.mouse.click_element(540, 388, times=1)
        self.mouse.click_element(616, 463, times=1)
示例#5
0
文件: shuilu.py 项目: Greatwan/dh2
class ShuiLu():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()

    def task_start(self):
        self.screen.find_ele_picture('game\\system\\zidong')
        time.sleep(5)
        for i in range(5):
            self.keyboard.press_key('f7')
            if i is 0:
                self.mouse.click_element(198, 338, times=1)
            else:
                pyautogui.click()
            pyautogui.click()
            self.keyboard.press_shortcut_key('alt', '8')
            self.common.change_teamer(0.3)
示例#6
0
class BiDou():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()

    def operate(self, type):
        if type is 0:
            self.keyboard.press_shortcut_key('alt', 'a')
        elif type is 1:
            self.keyboard.press_shortcut_key('alt', 'w')
            self.mouse.click_element(317, 178, times=0.5)
            self.mouse.click_element(289, 383, times=0.5)

    def task_start(self, team):
        print("任务开始")
        self.common.get_focus()
        for j in range(10):
            for index, i in enumerate(team):
                if j is 0:
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'o')
                    self.mouse.click_element(248, 385)
                    time.sleep(1)
                    self.mouse.click_element(578, 420)
                else:
                    # self.mouse.click_element(417,588,right=True)
                    time.sleep(2)
                    self.screen.find_ele_picture('game\\bidou\\begin')
                self.screen.find_ele_picture('game\\system\\zidong',
                                             location_=[578, 420])
                time.sleep(1.5)
                if j is 0:
                    self.operate(i[0])
                    self.operate(i[1])
                    self.operate(i[2])
                self.keyboard.press_shortcut_key('alt', '8')
                time.sleep(1)
                self.common.change_teamer(times=0.5)
示例#7
0
class DianXing():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()
    def operate(self,type):
        if type is 0:
            self.keyboard.press_shortcut_key('alt', 'a')
        elif type is 1:
            self.keyboard.press_shortcut_key('alt', 'w')
            time.sleep(0.5)
            self.mouse.click_element(317, 178)
            time.sleep(0.5)
            self.mouse.click_element(289, 383)
    def task_start(self):
        jiangxing = 0
        print("任务开始")
        self.common.get_focus()
        time.sleep(1)
        self.mouse.click_element(768, 195)
        time.sleep(1)
        for i in range(8):
            # for x in range(5):
            #     self.mouse.click_element(421, 208, times=1, right=True)
            #     self.common.change_teamer(0.5)
            endtime = time.time() + int(500)
            while time.time() < endtime:
                self.screen.cut_screen()
                time.sleep(2)
                loc_begin = self.screen.get_location_picture("D:\\dh2\\game\\dianxing\\begin2.png",num=0.9)
                if loc_begin is not 0:
                    self.mouse.click_element(432, 516)
                    for j in range(5):
                        self.mouse.click_element(309, 489, times=0.2, right=True)
                        self.mouse.click_element(309, 489, times=0.2)
                        self.common.change_teamer(0.2)
                pos_zidong = self.screen.get_location_picture("D:\\dh2\\game\\dianxing\\1.png",num=0.99)
                pos_caozuo = self.screen.get_location_picture("D:\\dh2\\game\\dianxing\\2.png",num=0.99)
                if pos_zidong is not 0 and pos_caozuo is 0:
                    # 人物
                    flag = 0
                    while True:
                        # self.mouse.click_element(412, 137, times=1, right=True
                        if flag is 0:
                            result = self.common.find_attack(type='f7')
                            self.mouse.click_element(result[0], result[1], times=0.5)
                            self.keyboard.press_shortcut_key('alt', '8')
                            self.common.change_teamer(0.3)
                            for jj in range(4):
                                self.keyboard.press_key('f7')
                                time.sleep(0.3)
                                pyautogui.click()
                                time.sleep(0.3)
                                pyautogui.click()
                                time.sleep(0.3)
                                self.keyboard.press_shortcut_key('alt', '8')
                                self.common.change_teamer(0.3)
                            flag+=1
                        self.screen.cut_screen()
                        time.sleep(1)
                        loc_begin2 = self.screen.get_location_picture("D:\\dh2\\game\\dianxing\\begin.png")
                        time.sleep(0.5)
                        if loc_begin2 is not 0:
                            break

                if pos_caozuo is not 0 and pos_zidong is 0:
                    # 星将
                    while True:
                        # self.mouse.click_element(412, 137, times=1, right=True)
                        self.screen.cut_screen()
                        time.sleep(1)
                        pos_caozuo2= self.screen.get_location_picture("D:\\dh2\\game\\dianxing\\2.png")
                        if pos_caozuo2 is not 0:
                            if jiangxing is 0:
                                for z in range(5):
                                    self.keyboard.press_shortcut_key('alt', 'a')
                                    self.keyboard.press_shortcut_key('alt', 'w')
                                    self.mouse.click_element(314, 179, times=0.2, right=True)

                                    if z is 0:
                                        result = self.common.find_attack(type='other',str='caozuo2')
                                        self.mouse.click_element(result[0], result[1], times=0.2)
                                    else:
                                        self.mouse.click_element(result[0], result[1], times=0.2)
                                    self.common.change_teamer(0.3)
                                    jiangxing+=1
                            else:
                                for z in range(5):
                                    self.keyboard.press_shortcut_key('alt', 'a')
                                    if z is 0:
                                        result = self.common.find_attack(type='other',str='caozuo2')
                                        self.mouse.click_element(result[0], result[1], times=0.2)
                                    else:
                                        pyautogui.click()
                                    self.common.change_teamer(0.3)
                        self.screen.cut_screen()
                        time.sleep(1)
                        loc_begin2 = self.screen.get_location_picture("D:\\dh2\\game\\dianxing\\begin.png")
                        time.sleep(0.5)
                        if loc_begin2 is not 0:
                            break
示例#8
0
文件: houzi.py 项目: Greatwan/dh2
class HouZi:
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()

    def houzi_task(self, place):
        self.common.get_focus()
        # self.keyboard.press_shortcut_key('alt', '2', times=0.5)
        # self.mouse.click_element(320, 411, times=0.5)
        # self.mouse.click_element(540, 425, times=0.5)
        # self.keyboard.press_shortcut_key('alt', '2', times=0.5)
        # self.common.iswalking()
        num = 0
        while num < 30:
            if num % 5:
                for j in range(5):
                    if j is 0:
                        self.mouse.click_element(697, 131, times=0.5)
                    else:
                        pyautogui.click()
                    self.common.change_teamer()
            for i in place:
                # 打开地图
                self.keyboard.press_shortcut_key('alt', '1', times=0.5)
                self.mouse.click_element(i[0], i[1], times=0.5)
                self.keyboard.press_shortcut_key('alt', '1', times=0.5)
                while True:
                    walking = self.common.iswalking()
                    if walking is False:
                        break
                while True:
                    result = self.task_start()
                    if result is 'success':
                        # self.keyboard.press_shortcut_key('alt', '2', times=0.5)
                        # self.mouse.click_element(499, 419, times=0.5)
                        # self.mouse.click_element(466, 211, times=0.5)
                        num += 1
                    else:
                        print("找不到")
                        break

    def task_start(self):
        while True:
            self.screen.cut_screen_location(820, 650, 0, 0)
            time.sleep(0.5)
            result = Screen().find_color_ele(400,
                                             400,
                                             350,
                                             250,
                                             r1=250,
                                             r2=260,
                                             g1=250,
                                             g2=260,
                                             b1=0,
                                             b2=10,
                                             cut_zone=True)
            if result is not None:
                self.mouse.click_element(result[0] - 10,
                                         result[1] - 25,
                                         times=0.5)
                self.screen.cut_screen()
                time.sleep(0.5)
                loc = self.screen.get_location_picture("D:\\dh2\\houzi\\2.png",
                                                       num=0.7)
                if loc is not 0:
                    self.mouse.click_element(178, 345, times=0.5)
                    time.sleep(10)
                    while True:
                        self.screen.cut_screen()
                        time.sleep(1.5)
                        pos_zidong = self.screen.get_location_picture(
                            "D:\\dh2\\game\\system\\zidong.png")
                        if pos_zidong is None:
                            break
                return 'success'
            else:
                return 'failed'
示例#9
0
class Screen:
    def __init__(self):
        self.keyboard = KeyBoard()
        self.mouse = Mouse()


    def cut_screen(self):
        hwnd = 0
        hwndDC = win32gui.GetWindowDC(hwnd)
        mfcDC = win32ui.CreateDCFromHandle(hwndDC)
        saveDC = mfcDC.CreateCompatibleDC()
        saveBitMap = win32ui.CreateBitmap()
        MoniterDev = win32api.EnumDisplayMonitors(None, None)
        w = MoniterDev[0][2][2]
        h = MoniterDev[0][2][3]
        saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)
        saveDC.SelectObject(saveBitMap)
        saveDC.BitBlt((0, 0), (820, 650), mfcDC, (0, 0), win32con.SRCCOPY)
        saveBitMap.SaveBitmapFile(saveDC, "D:\\dh2\\system\\0.PNG")

    def cut_screen_by_PIL(self, x, y, w, h, file_path):
        bbox = (x, y, w, h)
        im = ImageGrab.grab(bbox)
        im.save(file_path)

    def cut_screen_location(self, width, height, x, y, file_path="D:\\dh2\\system\\1.PNG"):
        try:
            hwnd = 0
            hwndDC = win32gui.GetWindowDC(hwnd)
            mfcDC = win32ui.CreateDCFromHandle(hwndDC)
            saveDC = mfcDC.CreateCompatibleDC()
            saveBitMap = win32ui.CreateBitmap()
            MoniterDev = win32api.EnumDisplayMonitors(None, None)
            w = MoniterDev[0][2][2]
            h = MoniterDev[0][2][3]
            saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)
            saveDC.SelectObject(saveBitMap)
            saveDC.BitBlt((0, 0), (width, height), mfcDC, (x, y), win32con.SRCCOPY)
            saveBitMap.SaveBitmapFile(saveDC, file_path)
        except:
            pass

    def find_color_ele(self, x, y, x_offset, y_offset, r1, r2, g1, g2, b1, b2, cut_zone=None):
        if cut_zone == None:
            im = Image.open("D:\\dh2\\system\\0.PNG")
        else:
            im = Image.open("D:\\dh2\\system\\1.PNG")
        img_array = im.load()
        result = None
        for i in range(x - x_offset, x + x_offset):
            for j in range(y - y_offset, y + y_offset):
                if r1 <= img_array[i, j][0] <= r2 and g1 <= img_array[i, j][1] <= g2 and b1 <= img_array[i, j][2] <= b2:
                    result = i, j
        return result

    def get_location_picture(self, filename, num=0.5, cut_zone=None):
        if cut_zone == None:
            imsrc = ac.imread('D:\\dh2\\system\\0.png')
        else:
            imsrc = ac.imread('D:\\dh2\\system\\1.png')
        imobj = ac.imread(filename)
        # find the match position
        pos = ac.find_template(imsrc, imobj, num)
        if pos == None:
            return 0
        else:
            return pos['result']

    def get_locations_picture(self, filename, num=0.5, cut_zone=None):
        if cut_zone == None:
            imsrc = ac.imread('D:\\dh2\\system\\0.png')
        else:
            imsrc = ac.imread('D:\\dh2\\system\\1.png')
        imobj = ac.imread(filename)
        # find the match position
        pos = ac.find_all_template(imsrc, imobj, num)
        if pos == None:
            return 0
        else:
            return pos

    def get_deal_locations_picture(self, filename, mubiao_file,num=0.5):
        imsrc = ac.imread(mubiao_file)
        imobj = ac.imread(filename)
        pos = ac.find_all_template(imsrc, imobj, num)
        if pos == None:
            return 0
        else:
            return pos

    def find_ele_picture(self, file_path, handle=None, k1=None, k2=None,location_=None):
        while True:
            try:
                pyautogui.moveTo(412 + random.randint(0, 5), 590 + random.randint(0, 5), 1, pyautogui.easeInQuad)
                time.sleep(1)
                self.cut_screen()
                if location_ is not None:
                    self.mouse.click_element(location_[0], location_[1])
                time.sleep(1)
                location = self.get_location_picture("D:\\dh2\\" + file_path + ".png", 0.8)
                if location != 0:
                    if handle == 'keyboard':
                        self.keyboard.press_shortcut_key(k1, k2)
                    elif handle == 'mouse':
                        self.mouse.click_element(k1, k2)
                    break
            except:
                pass
    def find_ele_picture_time(self, file_path, handle=None, k1=None, k2=None,location_=None):
        endtime = time.time() + int(30)
        while time.time() < endtime:
            pyautogui.moveTo(412 + random.randint(0, 5), 590 + random.randint(0, 5), 1, pyautogui.easeInQuad)
            time.sleep(1.5)
            self.cut_screen()
            if location_ is not None:
                self.mouse.click_element(location_[0], location_[1])
            time.sleep(0.5)
            location = self.get_location_picture("D:\\dh2\\" + file_path + ".png", 0.8)
            if location != 0:
                if handle == 'keyboard':
                    self.keyboard.press_shortcut_key(k1, k2)
                elif handle == 'mouse':
                    self.mouse.click_element(k1, k2)
                return True
        return False
    def template_image(self, file_path, dir_path="D:\\dh2\\system\\0.PNG"):
        list = []
        target = cv.imread(dir_path)
        tpl = cv.imread(file_path)
        methods = [cv.TM_SQDIFF_NORMED, cv.TM_CCORR_NORMED, cv.TM_CCOEFF_NORMED]
        th, tw = tpl.shape[:2]
        for md in methods:
            result = cv.matchTemplate(target, tpl, md)
            min_val, max_val, min_loc, max_loc = cv.minMaxLoc(result)
            if md == cv.TM_SQDIFF_NORMED:
                tl = min_loc
            else:
                tl = max_loc
            br = (tl[0] + tw, tl[1] + th)
            list.append(br)
            cv.rectangle(target, tl, br, [0, 0, 0])
        return list
示例#10
0
文件: dayanta.py 项目: Greatwan/dh2
class DaYanTa():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()

    def make_sure(self):
        self.common.get_focus()
        for i in range(3):
            self.mouse.click_element(311, 490)
            self.common.change_teamer()
        self.common.get_focus()

    def make_sure_wuyi(self):
        for i in range(3):
            self.mouse.click_element(183, 347)
            self.common.change_teamer()
        self.common.get_focus()

    def game_over(self):
        endtime = time.time() + int(300)
        while time.time() < endtime:
            time.sleep(1)
            self.screen.cut_screen()
            time.sleep(1)
            result_ = self.screen.get_location_picture(
                "D:\\dh2\\game\\system\\zidong.png", num=0.8)
            if result_ is 0:
                return True
        return False

    def operate(self):
        result_ = self.screen.find_ele_picture_time('game\\system\\zidong')
        if result_ is True:
            for i in range(3):
                self.keyboard.press_shortcut_key('alt', '8')
                if i is not 2:
                    self.common.change_teamer()
        self.common.get_focus()

    def start_task(self):
        self.common.get_focus()
        self.keyboard.press_shortcut_key('alt', '1')
        self.mouse.click_element(202, 254)
        time.sleep(10)
        # 寻找NPC 185,380
        self.screen.find_ele_picture('yitiao\\dayanta\\begin')
        self.mouse.click_element(177, 349, times=0.5)
        time.sleep(2)
        self.make_sure()
        time.sleep(5)
        # 第一个
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\1', 'mouse', 180, 361)
        self.mouse.click_element(91, 240, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\1_2', 'mouse', 169, 339)
        self.operate()
        self.game_over()
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\1_3', 'mouse', 175, 344)
        time.sleep(3)
        # 第二个
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\2', 'mouse', 180, 361)
        time.sleep(1)
        pyautogui.click()
        self.mouse.click_element(78, 240, times=0.5)
        time.sleep(60)
        res = self.screen.get_locations_picture(
            "D:\\dh2\\yitiao\\dayanta\\2_1.png", 0.7)
        self.mouse.click_element(res[0]['result'][0], res[0]['result'][1])
        time.sleep(1)
        self.mouse.click_element(91, 241, times=0.5)
        time.sleep(1)
        self.mouse.click_element(173, 327, times=0.5)
        self.operate()
        self.game_over()
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\2_2', 'mouse', 183, 325)
        time.sleep(3)
        # 第三个
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\3', 'mouse', 180, 413)
        self.mouse.click_element(91, 240, times=0.5)
        self.operate()
        self.game_over()
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\3_1', 'mouse', 175, 344)
        time.sleep(3)
        # 第四个
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\4', 'mouse', 180, 361)
        time.sleep(1)
        pyautogui.click()
        while True:
            time.sleep(4)
            self.mouse.click_element(41, 240, times=0.5)
            time.sleep(1)
            self.screen.cut_screen()
            time.sleep(1)
            location = self.screen.get_locations_picture(
                "D:\\dh2\\yitiao\\dayanta\\4_1.png", 0.9)
            if len(location) is not 0:
                self.mouse.click_element(178, 365, times=0.5)
                break
        self.make_sure()
        self.operate()
        self.game_over()
        while True:
            time.sleep(4)
            self.mouse.click_element(33, 255, times=0.5)
            time.sleep(1)
            self.screen.cut_screen()
            time.sleep(1)
            location = self.screen.get_locations_picture(
                "D:\\dh2\\yitiao\\dayanta\\4_2.png", 0.7)
            if len(location) is not 0:
                self.mouse.click_element(183, 343, times=0.5)
                break
        time.sleep(3)
        # 第五个
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\5', 'mouse', 180, 344)
        time.sleep(1)
        pyautogui.click()
        while True:
            time.sleep(4)
            self.mouse.click_element(150, 240, times=0.5)
            time.sleep(1)
            self.screen.cut_screen()
            time.sleep(1)
            location = self.screen.get_locations_picture(
                "D:\\dh2\\yitiao\\dayanta\\5_1.png", 0.7)
            if len(location) is not 0:
                self.mouse.click_element(178, 365, times=0.5)
                break
        self.make_sure()
        self.operate()
        self.game_over()
        while True:
            time.sleep(4)
            self.mouse.click_element(33, 255, times=0.5)
            time.sleep(1)
            self.screen.cut_screen()
            time.sleep(1)
            location = self.screen.get_locations_picture(
                "D:\\dh2\\yitiao\\dayanta\\5_2.png", 0.7)
            if len(location) is not 0:
                self.mouse.click_element(190, 365, times=0.5)
                break
        time.sleep(3)
        # 第六个
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\6', 'mouse', 180, 381)
        time.sleep(1)
        pyautogui.click()
        self.mouse.click_element(41, 240, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\6_1', 'mouse', 182, 353)
        self.make_sure()
        self.operate()
        self.game_over()
        self.mouse.click_element(30, 257, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\6_2', 'mouse', 175, 344)
        time.sleep(3)
        # 第七个
        self.mouse.click_element(156, 240, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\7', 'mouse', 180, 345)
        time.sleep(1)
        self.mouse.click_element(54, 240, times=0.5)
        time.sleep(1)
        self.mouse.click_element(461, 292, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\7_1', 'mouse', 182, 329)
        self.operate()
        self.game_over()
        self.mouse.click_element(85, 243, times=0.5)
        self.screen.find_ele_picture('yitiao\\dayanta\\7_2', 'mouse', 192, 330)
        self.keyboard.press_shortcut_key('alt', 'q')
        time.sleep(3)
示例#11
0
文件: guzhu.py 项目: Greatwan/dh2
class GuZhu():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()
    def make_sure(self):
        self.common.get_focus()
        for i in range(3):
            self.mouse.click_element(311, 490)
            self.common.change_teamer()
        self.common.get_focus()
    def make_sure_wuyi(self):
        for i in range(3):
            self.mouse.click_element(183, 347)
            self.common.change_teamer()
        self.common.get_focus()
    def game_over(self):
        endtime = time.time() + int(300)
        while time.time() < endtime:
            time.sleep(1)
            self.screen.cut_screen()
            time.sleep(1)
            result_ = self.screen.get_location_picture("D:\\dh2\\game\\system\\zidong.png",num=0.8)
            if result_ is 0:
                return True
        return False
    def operate(self):
        result_ = self.screen.find_ele_picture_time('game\\system\\zidong')
        if result_ is True:
            for i in range(3):
                self.keyboard.press_shortcut_key('alt', '8')
                if i is not 2:
                    self.common.change_teamer()
        self.common.get_focus()

    def start_task(self):
        self.common.get_focus()
        self.keyboard.press_shortcut_key('alt', '2')
        self.mouse.click_element(502, 419)
        time.sleep(2)
        self.mouse.click_element(587, 362)
        time.sleep(10)
        # 寻找NPC 185,380
        self.screen.find_ele_picture('yitiao\\guzhu\\begin')
        self.mouse.click_element(182, 328, times=0.5)
        time.sleep(2)
        self.make_sure()
        time.sleep(10)
        # 宠物医生
        self.mouse.click_element(245, 275, times=0.5)
        self.make_sure_wuyi()
        time.sleep(2)
        # 第一个
        self.mouse.click_element(93, 241, times=0.5)
        self.screen.find_ele_picture('yitiao\\guzhu\\1','mouse',169,329)
        self.operate()
        self.game_over()
        time.sleep(2)
        # 第二个
        self.mouse.click_element(93, 241, times=0.5)
        self.screen.find_ele_picture('yitiao\\guzhu\\2','mouse',169,329)
        self.operate()
        self.game_over()
        time.sleep(2)
        # 第三个
        self.mouse.click_element(93, 241, times=0.5)
        self.screen.find_ele_picture('yitiao\\guzhu\\3','mouse',169,329)
        self.operate()
        self.game_over()
        time.sleep(2)
        # 第四个
        self.mouse.click_element(93, 241, times=0.5)
        self.screen.find_ele_picture('yitiao\\guzhu\\4','mouse',169,329)
        self.operate()
        self.game_over()
        time.sleep(2)
        # 第五个
        self.mouse.click_element(93, 241, times=0.5)
        self.screen.find_ele_picture('yitiao\\guzhu\\5','mouse',169,329)
        self.operate()
        self.game_over()
        time.sleep(2)
        # 第六个
        self.mouse.click_element(93, 241, times=0.5)
        self.screen.find_ele_picture('yitiao\\guzhu\\6','mouse',175,347)
        self.make_sure()
        time.sleep(2)
        self.keyboard.press_shortcut_key('alt', '1')
        # 第七个
        self.mouse.click_element(93, 241, times=0.5)
        self.screen.find_ele_picture('yitiao\\guzhu\\7','mouse',188,328)
        # self.make_sure()
        self.operate()
        self.game_over()
        time.sleep(2)
        # 第八个
        self.mouse.click_element(93, 241, times=0.5)
        self.screen.find_ele_picture('yitiao\\guzhu\\8','mouse',188,328)
        # self.make_sure()
        self.operate()
        self.game_over()
        time.sleep(15)
示例#12
0
class Common:
    def __init__(self):
        self.personList = [75, 250, 400, 545, 700]
        self.mouse = Mouse()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.transform = TransForm()

    def get_focus(self, index=True):
        if index is True:
            self.mouse.click_direct_element(
                self.transform.trans_location(75, 0),
                self.transform.trans_location(45, 1))
        else:
            self.mouse.click_direct_element(
                self.transform.trans_location(700, 0),
                self.transform.trans_location(45, 1))

    def create_team(self):
        # 创建队伍
        self.keyboard.press_shortcut_key('alt', 't', 1)
        self.mouse.click_element(403, 318)
        # 打开好友列表查看组队信息
        self.keyboard.press_shortcut_key('alt', 'f', 1)
        time.sleep(0.5)

        self.screen.cut_screen()
        result = self.screen.find_color_ele(679, 291)
        if result != None:
            self.mouse.click_element(result[0], result[1])
        list = [315, 345, 375, 405]
        for i in list:
            self.mouse.click_element_right(730, i, 1)
            self.mouse.click_element(388, 505)
        self.mouse.click_element_right(388, 530, 1)
        self.keyboard.press_shortcut_key('alt', 'f', 1)

        for i in range(4):
            self.keyboard.press_shortcut_key('ctrl', 'tab', 1)
            self.mouse.click_element(347, 410)
        self.keyboard.press_shortcut_key('ctrl', 'tab', 1)

    def change_teamer(self, times=1):
        self.keyboard.press_shortcut_key('ctrl', 'tab', times)

    def change_dog(self, num):
        self.keyboard.press_shortcut_key('alt', 'o')
        if num == 1:
            self.mouse.click_element(90, 186)
        elif num == 2:
            self.mouse.click_element(90, 208)
        elif num == 3:
            self.mouse.click_element(90, 230)
        elif num == 4:
            self.mouse.click_element(90, 252)
        elif num == 5:
            self.mouse.click_element(90, 274)
        elif num == 6:
            self.mouse.click_element(90, 296)
        time.sleep(1.5)
        self.screen.cut_screen_location(width=200, height=50, x=200, y=350)
        time.sleep(1)
        result = self.screen.get_location_picture(
            "D:\\dh2\\game\\system\\0.png", 0.9, cut_zone=True)
        if result == 0:
            self.mouse.click_element(320, 380)
        self.keyboard.press_shortcut_key('alt', 'o')

    def clear_task(self):
        # 清除任务列表
        # self.keyboard.press_shortcut_key('alt', 'q')
        # for i in range(5):
        #     self.mouse.click_element(359, 223)
        # list = [27, 46, 65, 85, 103, 122, 141]
        # for i in list:
        #     time.sleep(1)
        #     self.screen.cut_screen_location(width=200, height=300, x=150, y=190)
        #     result = self.screen.find_color_ele(11, i, 2, 1, 190, 220, 60, 75, 50, 60, True)
        #     print(result)
        #     if result == None:
        #         self.mouse.click_element(11 + 200, i + 190)
        self.keyboard.press_shortcut_key('alt', '2')
        time.sleep(1)
        self.mouse.click_element(507, 419)
        time.sleep(1)
        self.mouse.click_element(310, 381)
        self.screen.find_ele_picture('game\\bangpai\\0_', 'mouse', 220, 328)
        time.sleep(2)
        self.keyboard.press_shortcut_key('alt', '1')
        time.sleep(1)
        self.mouse.click_element(500, 313)

    def iswalking(self):
        self.screen.cut_screen_by_PIL(30, 65, 140, 85,
                                      "D:\\dh2\\system\\2.PNG")
        time.sleep(2)
        self.screen.cut_screen_by_PIL(30, 65, 140, 85,
                                      "D:\\dh2\\system\\2_.PNG")
        result = Walking().iswalking()
        if result < 10:
            return False
        else:
            return True

    def click_until_find(self, file_name, x, y):
        Mouse().click_element(x, y)
        Screen().cut_screen()
        result = Screen().get_location_picture(file_name)
        if result is not 0:
            return True
        return False

    def capation_eat_xiang(self):
        KeyBoard().press_shortcut_key('alt', 'e')
        Mouse().click_element(344, 397)
        Mouse().click_element(44, 454, right=True)
        KeyBoard().press_shortcut_key('alt', 'e')

    def score_for_shifu(self):
        Screen().cut_screen()
        result = Screen().get_location_picture("D:\\dh2\\game\\system\\3.PNG")
        if result is not 0:
            Mouse().click_element(222, 264)
            Mouse().click_element(409, 506)

    def task_box(self):
        pass

    # 寻找共计目标
    def find_attack(self, type, str='zidong'):
        list = [[198, 280], [198, 320], [198, 360]]
        endtime = time.time() + int(1000)
        while time.time() < endtime:
            time.sleep(1.5)
            self.screen.cut_screen()
            pos_zidong = self.screen.get_location_picture(
                "D:\\dh2\\game\\system\\" + str + ".png")
            if pos_zidong is not 0:
                if type is 'f5' or type is 'f6' or type is 'f7':
                    self.keyboard.press_key(type)
                    for i in list:
                        self.mouse.click_element(i[0], i[1], times=0.5)
                        time.sleep(1)
                        self.screen.cut_screen()
                        pos_zidong = self.screen.get_location_picture(
                            "D:\\dh2\\game\\system\\" + str + ".png")
                        if pos_zidong is not 0:
                            return i
                elif type is None:
                    for i in list:
                        self.mouse.click_element(i[0], i[1], times=0.5)
                        time.sleep(1)
                        self.screen.cut_screen()
                        pos_zidong = self.screen.get_location_picture(
                            "D:\\dh2\\game\\system\\" + str + ".png")
                        if pos_zidong is not 0:
                            return i
        return 'failed'

    def game_over(self):
        endtime = time.time() + int(300)
        while time.time() < endtime:
            time.sleep(1)
            self.screen.cut_screen()
            time.sleep(1)
            result = self.screen.get_location_picture(
                "D:\\dh2\\game\\system\\zidong.png", num=0.8)
            if result is 0:
                return True
        return False
示例#13
0
 def capation_eat_xiang(self):
     KeyBoard().press_shortcut_key('alt', 'e')
     Mouse().click_element(344, 397)
     Mouse().click_element(44, 454, right=True)
     KeyBoard().press_shortcut_key('alt', 'e')
示例#14
0
 def __init__(self):
     self.personList = [75, 250, 400, 545, 700]
     self.mouse = Mouse()
     self.keyboard = KeyBoard()
     self.screen = Screen()
     self.transform = TransForm()
示例#15
0
 def __init__(self):
     self.keyboard = KeyBoard()
     self.mouse = Mouse()
示例#16
0
class DiGong():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()

    def make_sure(self):
        self.common.get_focus()
        for i in range(3):
            self.mouse.click_element(311, 490)
            self.common.change_teamer()
        self.common.get_focus()

    def game_over(self):
        endtime = time.time() + int(300)
        while time.time() < endtime:
            time.sleep(1)
            self.screen.cut_screen()
            time.sleep(1)
            result_ = self.screen.get_location_picture(
                "D:\\dh2\\game\\system\\zidong.png", num=0.8)
            if result_ is 0:
                return True
        return False

    def operate(self, level):
        self.common.get_focus()
        self.keyboard.press_shortcut_key('alt', '2')
        self.mouse.click_element(539, 386)
        time.sleep(2)
        self.mouse.click_element(618, 463)
        time.sleep(10)
        # 寻找NPC 185,380
        self.screen.find_ele_picture('yitiao\\digong\\begin')
        self.mouse.click_element(185, 380, times=0.5)
        time.sleep(2)
        self.mouse.click_element(547, 146, times=0.5)
        time.sleep(2)
        self.mouse.click_element(204, 378, times=0.5)
        time.sleep(2)
        self.mouse.click_element(64, 242, times=0.5)
        # 点老鼠
        self.screen.find_ele_picture('yitiao\\digong\\1')
        time.sleep(2)
        self.mouse.click_element(64, 242, times=0.5)
        time.sleep(2)
        self.mouse.click_element(202, 363, times=0.5)
        time.sleep(1)
        self.mouse.click_element(197, 345, times=0.5)
        time.sleep(1)
        pyautogui.click()
        # 点击任务栏
        time.sleep(1)
        self.mouse.click_element(44, 269, times=0.5)
        time.sleep(2)
        if level is '0':
            self.mouse.click_element(486, 239, times=0.5)
            self.screen.find_ele_picture('yitiao\\digong\\2_0')
            self.mouse.click_element(179, 327, times=0.5)
        elif level is '1':
            self.mouse.click_element(486, 275, times=0.5)
            self.screen.find_ele_picture('yitiao\\digong\\2_1')
            self.mouse.click_element(179, 350, times=0.5)
        # 组队确认
        self.make_sure()
        time.sleep(2)
        self.screen.find_ele_picture('system\\zidong')
        self.common.find_attack('f7')
        self.keyboard.press_shortcut_key('alt', 'd')
        self.keyboard.press_shortcut_key('alt', '8')
        self.common.change_teamer()
        for i in range(2):
            self.keyboard.press_key('f7')
            pyautogui.click()
            self.keyboard.press_shortcut_key('alt', 'd')
            self.keyboard.press_shortcut_key('alt', '8')
            self.common.change_teamer()
        self.common.get_focus()
        time.sleep(20)
        self.game_over()
        print("任务结束")
示例#17
0
class BangPai:
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()
        self.walking = Walking()

    def bangpai_task(self):
        self.screen.cut_screen()
        time.sleep(2)
        endtime = time.time() + int(30)
        while time.time() < endtime:
            for i in range(1, 11):
                file_name = "D:\\dh2\\game\\bangpai\\" + str(i) + ".png"
                result = self.screen.get_location_picture(file_name, 0.8)
                if result != 0:
                    if i == 1:
                        print("除草")
                        self.keyboard.press_shortcut_key('alt', 'q')
                        self.mouse.click_element(223, 329)
                        for j in range(5):
                            self.mouse.click_element_right(10, 582)
                            time.sleep(1)
                            self.mouse.click_element(787, 539)
                        self.return_bangpai_npc()
                        return 'success'
                    elif i == 2:
                        print("武官")
                        self.keyboard.press_shortcut_key('alt', 'q')
                        self.mouse.click_element(223, 329)
                        time.sleep(1)
                        self.mouse.click_element(459, 266)
                        time.sleep(1)
                        self.mouse.click_element(181, 347)
                        time.sleep(1)
                        self.mouse.click_element(164, 344)
                        time.sleep(2)
                        pyautogui.click()
                        time.sleep(25)
                        pyautogui.moveTo(393, 557, 1, pyautogui.easeInQuad)
                        # self.keyboard.press_shortcut_key('alt', 'q')
                        self.screen.cut_screen()
                        time.sleep(2)
                        loca = self.screen.get_location_picture(
                            "D:\\dh2\\game\\bangpai\\0_3.png", 0.9)
                        print(loca)
                        if loca is 0:
                            self.mouse.click_element(193, 367)
                        else:
                            self.mouse.click_element(loca[0] - 120,
                                                     loca[1] + 73)
                        self.mouse.click_element(420, 239)
                        return 'failed'
                    elif i == 3:
                        print("订酒")
                        self.keyboard.press_shortcut_key('alt', 'q')
                        time.sleep(1)
                        self.mouse.click_element(459, 266)
                        time.sleep(1)
                        self.mouse.click_element(181, 347)
                        time.sleep(1)
                        self.mouse.click_element(164, 344)
                        time.sleep(2)
                        pyautogui.click()
                        time.sleep(25)
                        pyautogui.moveTo(393, 557, 1, pyautogui.easeInQuad)
                        # self.keyboard.press_shortcut_key('alt', 'q')
                        self.screen.cut_screen()
                        time.sleep(2)
                        loca = self.screen.get_location_picture(
                            "D:\\dh2\\game\\bangpai\\0_3.png", 0.9)
                        print(loca)
                        if loca is 0:
                            self.mouse.click_element(193, 367)
                        else:
                            self.mouse.click_element(loca[0] - 120,
                                                     loca[1] + 73)
                        self.mouse.click_element(420, 239)
                        return 'failed'
                    elif i == 4:
                        print("药")
                        self.keyboard.press_shortcut_key('alt', 'q')
                        self.mouse.click_element(223, 329)
                        self.mouse.click_element(461, 269)
                        self.mouse.click_element(201, 328)
                        time.sleep(3)
                        pyautogui.click()
                        # self.keyboard.press_shortcut_key('alt', 'q')
                        pyautogui.moveTo(393, 557, 1, pyautogui.easeInQuad)
                        time.sleep(1)
                        self.screen.cut_screen()
                        time.sleep(2)
                        loca = self.screen.get_location_picture(
                            "D:\\dh2\\game\\bangpai\\0_3.png", 0.9)
                        print(loca)
                        if loca is 0:
                            self.mouse.click_element(193, 367)
                        else:
                            self.mouse.click_element(loca[0] - 120,
                                                     loca[1] + 73)
                        self.mouse.click_element(420, 239)
                        return 'success'
                        # time.sleep(1)
                        # self.mouse.click_element(461, 288)
                    elif i == 5:
                        print("无名侠女")
                        self.mouse.click_element(500, 240)
                        self.keyboard.press_shortcut_key('alt', 'q')
                        time.sleep(5)
                        self.screen.find_ele_picture('game\\system\\zidong',
                                                     'keyboard', 'alt', '8')
                        self.screen.find_ele_picture('game\\bangpai\\5_2',
                                                     'mouse', 182, 335)
                        self.return_bangpai_npc()
                        return 'success'
                    elif i == 6:
                        print("回答问题")
                        self.mouse.click_element(445, 240)
                        self.keyboard.press_shortcut_key('alt', 'q')
                        self.mouse.click_element(185, 327)
                        while True:
                            self.mouse.click_element(159, 329)
                            time.sleep(1)
                            self.screen.cut_screen()
                            time.sleep(2.5)
                            result_answer = self.screen.get_location_picture(
                                "D:\\dh2\\game\\bangpai\\6_1.png", 0.8)
                            if result_answer == 0:
                                break
                        self.return_bangpai_npc()
                        return 'success'
                    elif i == 7:
                        print("帮派宣传")
                        self.mouse.click_element(410, 240)
                        self.keyboard.press_shortcut_key('alt', 'q')
                        time.sleep(10)
                        endtime2 = time.time() + int(90)
                        while time.time() < endtime2:
                            if self.walking.iswalking() is 0:
                                self.mouse.click_element(784, 540)
                                break
                        self.mouse.click_element(784, 540)
                        self.return_bangpai_npc()
                        return 'success'
                    elif i == 8:
                        print("作乱妖怪")
                        self.mouse.click_element(440, 240)
                        self.keyboard.press_shortcut_key('alt', 'q')
                        self.screen.find_ele_picture('game\\system\\zidong',
                                                     'keyboard', 'alt', '8')
                        self.screen.find_ele_picture('game\\bangpai\\8_1',
                                                     'mouse', 182, 345)
                        self.return_bangpai_npc()
                        return 'success'
                    elif i == 9:
                        print("收银票")
                        self.keyboard.press_shortcut_key('alt', 'q')
                        self.mouse.click_element(223, 329)
                        time.sleep(1)
                        self.mouse.click_element(459, 266)
                        time.sleep(1)
                        self.mouse.click_element(181, 347)
                        time.sleep(1)
                        self.mouse.click_element(164, 344)
                        time.sleep(2)
                        pyautogui.click()
                        time.sleep(25)
                        pyautogui.moveTo(393, 557, 1, pyautogui.easeInQuad)
                        # self.keyboard.press_shortcut_key('alt', 'q')
                        self.screen.cut_screen()
                        time.sleep(2)
                        loca = self.screen.get_location_picture(
                            "D:\\dh2\\game\\bangpai\\0_3.png", 0.9)
                        print(loca)
                        if loca is 0:
                            self.mouse.click_element(193, 367)
                        else:
                            self.mouse.click_element(loca[0] - 120,
                                                     loca[1] + 73)
                        self.mouse.click_element(420, 239)
                        return 'failed'
                    elif i == 10:
                        return 'success'
            return 'pass'

    def find_bangpai_task(self):
        num = 0
        for j in range(15):
            if num > 9:
                break
            try:
                if j == 0:
                    self.keyboard.press_shortcut_key('alt', '2')
                    time.sleep(1)
                    self.mouse.click_element(507, 419)
                    time.sleep(1)
                    self.mouse.click_element(310, 381)
                    self.screen.find_ele_picture('game\\bangpai\\0_', 'mouse',
                                                 220, 328)
                    time.sleep(2)
                    self.mouse.click_element(220, 328)
                    self.keyboard.press_shortcut_key('alt', '1')
                    time.sleep(1)
                    self.mouse.click_element(500, 313)
                    self.mouse.click_element(500, 313)

                # 领取任务
                self.screen.find_ele_picture('game\\bangpai\\0', 'mouse', 223,
                                             329)
                time.sleep(2)
                # pyautogui.click()
                self.keyboard.press_shortcut_key('alt', 'q')
                time.sleep(2)
                result = self.bangpai_task()
                print(result)
                if result is 'success' or result is 'pass':
                    num += 1
            except:
                pass

    def return_bangpai_npc(self):
        self.keyboard.press_shortcut_key('alt', 'q')
        self.mouse.click_element(517, 239)
        self.keyboard.press_shortcut_key('alt', 'q')
        time.sleep(5)
        self.screen.find_ele_picture('game\\bangpai\\0_1', 'mouse', 193, 327)
        time.sleep(1)
        pyautogui.click()
        time.sleep(3)
        pyautogui.moveTo(392, 239, 1, pyautogui.easeInQuad)
        # self.keyboard.press_shortcut_key('alt', 'q')
        self.screen.cut_screen()
        time.sleep(2)
        loca = self.screen.get_location_picture(
            "D:\\dh2\\game\\bangpai\\0_3.png", 0.9)
        print(loca)
        if loca is 0:
            self.mouse.click_element(193, 367)
        else:
            self.mouse.click_element(loca[0] - 120, loca[1] + 73)
        self.mouse.click_element(420, 239)
        # self.keyboard.press_shortcut_key('alt', '1')
        # self.keyboard.press_shortcut_key('alt', 'q')

    def bangpai_start(self):
        self.common.get_focus()
        for i in range(5):
            # self.common.capation_eat_xiang()
            self.find_bangpai_task()
            self.common.change_teamer()
示例#18
0
class ShiMen():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()
        self.yao = ''
        self.offset = 17 + 15

    def position(self, type):
        if type is 'ren':
            return 596, 508, 168, 345
        elif type is 'mo':
            return 587, 498, 168, 362
        elif type is 'gui':
            return 585, 486, 163, 398
        elif type is 'xian':
            return 595, 520, 168, 345

    def npc_position(self, type):
        if type is 'ren':
            return 659, 300, 404, 381
        elif type is 'mo':
            return 528, 257, 458, 359
        elif type is 'gui':
            return 726, 299, 538, 298
        elif type is 'xian':
            return 222, 190, 445, 318

    def npc_start(self):
        self.keyboard.press_shortcut_key('alt', 'q')
        time.sleep(1)
        self.mouse.click_element(198, 386)
        time.sleep(1)
        self.mouse.click_element(420, 240)
        time.sleep(1)
        self.screen.find_ele_picture('game\\shimen\\1', 'mouse', 193, 361)
        self.keyboard.press_shortcut_key('alt', 'q')
        time.sleep(1)
        self.keyboard.press_shortcut_key('alt', 'q')

    def later(self, zu, offset_, x, y):
        pyautogui.moveTo(420, 527, 1, pyautogui.easeInQuad)
        time.sleep(2)
        self.screen.cut_screen()
        time.sleep(1)
        icon_ = self.screen.get_location_picture(
            "D:\\dh2\\game\\shimen\\1.png")
        time.sleep(1)
        self.mouse.click_element(icon_[0], icon_[1] - self.offset)
        time.sleep(1)
        self.mouse.click_element(x, y)
        time.sleep(1)
        self.screen.find_ele_picture('game\\shimen\\' + zu, 'mouse', 195,
                                     offset_)
        time.sleep(1)
        self.keyboard.press_shortcut_key('alt', 'q')
        time.sleep(1)
        self.keyboard.press_shortcut_key('alt', 'q')
        pyautogui.moveTo(420, 527, 1, pyautogui.easeInQuad)
        time.sleep(2)
        self.screen.cut_screen()
        time.sleep(1)
        icon_ = self.screen.get_location_picture(
            "D:\\dh2\\game\\shimen\\1.png")
        time.sleep(1)
        self.mouse.click_element(icon_[0], icon_[1] - self.offset)
        time.sleep(1)
        self.mouse.click_element(420, 240)
        time.sleep(1)
        self.screen.find_ele_picture('game\\shimen\\' + zu, 'mouse', 195,
                                     offset_)
        time.sleep(1)
        self.keyboard.press_shortcut_key('alt', 'q')
        time.sleep(1)
        self.keyboard.press_shortcut_key('alt', 'q')

    def classify(self, zu, index, offset):
        if index is 0:
            begin = 361
        else:
            begin = 345
        self.screen.cut_screen()
        time.sleep(1.5)
        # self.screen.cut_screen_location(267, 136, 373, 209)
        for i in range(2, 11):
            if zu is 'ren' or zu is 'xian':
                offset_ = 360
            elif zu is 'mo':
                offset_ = 365
            else:
                offset_ = 345
            file_name = "D:\\dh2\\game\\shimen\\" + str(i) + ".png"
            result = self.screen.get_location_picture(file_name, 0.7)
            if result != 0:
                if i == 2:
                    print("风水混元丹")
                    x = 404
                    y = 237
                    if zu is 'gui':
                        haha = 345
                    else:
                        haha = 363
                    time.sleep(1)
                    self.mouse.click_element(386, 257)
                    time.sleep(1)
                    self.mouse.click_element(195, haha)
                    time.sleep(1)
                    self.mouse.click_element(195, haha)
                    time.sleep(1)
                    self.mouse.click_element(195, haha)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', '1')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    pyautogui.moveTo(420, 527, 1, pyautogui.easeInQuad)
                    time.sleep(2)
                    self.screen.cut_screen()
                    time.sleep(1)
                    icon_ = self.screen.get_location_picture(
                        "D:\\dh2\\game\\shimen\\1.png")
                    time.sleep(1)
                    self.mouse.click_element(icon_[0], icon_[1] - 20)
                    time.sleep(1)
                    self.mouse.click_element(x, y)
                    time.sleep(1)
                    self.screen.find_ele_picture('game\\shimen\\' + zu,
                                                 'mouse', 195, offset_)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    if index is 0:
                        self.yao = 'yao'
                    break
                elif i == 3:
                    print("顶天柱")
                    x = 545
                    y = 239
                    self.mouse.click_element(434, 237)
                    time.sleep(1)
                    self.screen.find_ele_picture('game\\shimen\\3_1', 'mouse',
                                                 184, 329)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break
                elif i == 4:
                    print("密探")
                    x = 416
                    y = 257
                    self.mouse.click_element(593, 239)
                    time.sleep(1)
                    self.screen.find_ele_picture('game\\shimen\\4_1',
                                                 'keyboard', 'alt', '8')
                    while True:
                        time.sleep(5)
                        self.screen.cut_screen()
                        location = self.screen.get_location_picture(
                            "D:\\dh2\\game\\system\\zidong.png", 0.8)
                        if location is 0:
                            break
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break
                elif i == 5:
                    print("陈夫人")
                    x = 545
                    y = 239
                    self.mouse.click_element(434, 240)
                    self.screen.find_ele_picture('game\\shimen\\5_1', 'mouse',
                                                 184, 329)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break
                elif i == 6:
                    print("大香玉")
                    x = 545
                    y = 239
                    self.mouse.click_element(434, 240)
                    self.screen.find_ele_picture('game\\shimen\\6_1', 'mouse',
                                                 184, 329)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break
                elif i == 7:
                    print("风姑娘")
                    x = 545
                    y = 239
                    self.mouse.click_element(434, 240)
                    self.screen.find_ele_picture('game\\shimen\\7_1', 'mouse',
                                                 184, 329)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break
                elif i == 8:
                    print("何小姐")
                    x = 545
                    y = 239
                    self.mouse.click_element(434, 240)
                    self.screen.find_ele_picture('game\\shimen\\8_1', 'mouse',
                                                 184, 329)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break
                elif i == 9:
                    print("胡巧儿")
                    x = 545
                    y = 239
                    self.mouse.click_element(434, 240)
                    self.screen.find_ele_picture('game\\shimen\\9_1', 'mouse',
                                                 184, 329)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break
                elif i == 10:
                    print("切磋")
                    x = 514
                    y = 240
                    self.mouse.click_element(388, 256)
                    self.screen.find_ele_picture('game\\shimen\\10_1', 'mouse',
                                                 207, 329)
                    time.sleep(2)
                    self.keyboard.press_shortcut_key('alt', '8')
                    while True:
                        time.sleep(5)
                        self.screen.cut_screen()
                        location = self.screen.get_location_picture(
                            "D:\\dh2\\game\\system\\zidong.png", 0.8)
                        if location is 0:
                            break
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break
                elif i == 11:
                    print("小香玉")
                    x = 545
                    y = 239
                    self.mouse.click_element(434, 240)
                    self.screen.find_ele_picture('game\\shimen\\11_1', 'mouse',
                                                 184, 329)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break
                elif i == 12:
                    print("黄火牛")
                    x = 545
                    y = 239
                    self.mouse.click_element(434, 240)
                    self.screen.find_ele_picture('game\\shimen\\12_1', 'mouse',
                                                 184, 329)
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    time.sleep(1)
                    self.keyboard.press_shortcut_key('alt', 'q')
                    self.later(zu, offset_, x, y)
                    break

    def task_start(self, list):
        print("任务开始")
        self.common.get_focus()
        for i in list:
            if i is 'gui':
                aaa = 345
            else:
                aaa = 360
            self.yao = ''
            self.keyboard.press_shortcut_key('alt', '2')
            time.sleep(1)
            self.mouse.click_element(505, 415)
            time.sleep(1)
            positon_ = self.position(i)
            self.mouse.click_element(positon_[0], positon_[1])
            self.screen.find_ele_picture('game\\shimen\\0', 'mouse',
                                         positon_[2], positon_[3])
            time.sleep(2)
            positon2_ = self.npc_position(i)
            self.keyboard.press_shortcut_key('alt', '5')
            self.mouse.click_element(positon2_[0], positon2_[1], right=True)
            time.sleep(2.5)
            self.keyboard.press_shortcut_key('alt', '5')
            time.sleep(5)
            self.mouse.click_element(positon2_[2], positon2_[3])
            time.sleep(1)
            self.screen.find_ele_picture('game\\shimen\\' + i, 'mouse', 193,
                                         aaa)
            time.sleep(1.5)
            pyautogui.click()
            # 取消任务
            self.mouse.click_element(positon2_[2], positon2_[3])
            time.sleep(1)
            self.screen.find_ele_picture('game\\shimen\\' + i, 'mouse', 200,
                                         aaa + 20)
            time.sleep(1)
            self.mouse.click_element(168, 332)
            time.sleep(25)
            # 再次领取
            self.mouse.click_element(positon2_[2], positon2_[3])
            time.sleep(1)
            self.screen.find_ele_picture('game\\shimen\\' + i, 'mouse', 193,
                                         aaa)
            time.sleep(1)
            self.keyboard.press_shortcut_key('alt', 'q')
            pyautogui.moveTo(420, 527, 1, pyautogui.easeInQuad)
            time.sleep(2)
            self.screen.cut_screen()
            time.sleep(1)
            icon = self.screen.get_location_picture(
                "D:\\dh2\\game\\shimen\\1.png")
            time.sleep(1)
            self.mouse.click_element(icon[0], icon[1] - self.offset)
            time.sleep(1)
            for j in range(10):
                print("第" + str(j + 1) + "次")
                # if j is 1 and self.yao is 'yao':
                #     # self.mouse.click_element(505, 415)
                #     # time.sleep(1)
                #     self.mouse.click_element(405, 240)
                #     time.sleep(1)
                if i is 'ren' or i is 'xian':
                    offset_1 = 360
                elif i is 'mo':
                    offset_1 = 365
                else:
                    offset_1 = 345
                self.classify(i, j, offset_1)
                if j is 9:
                    self.keyboard.press_shortcut_key('alt', 'q')
            self.common.change_teamer()


# if __name__ == '__main__':
#     # list = ['mo','mo','gui']
#     list = ['gui']
#
#     ShiMen().task_start(list)
# for i in range(10):
#     ShiMen().classify('xian',0,365)
# Screen().cut_screen_location(267, 136, 373, 209)
示例#19
0
class KuaFuBiDou():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()

    def operate(self, type):
        if type is 0:
            self.keyboard.press_shortcut_key('alt', 'a')
        elif type is 1:
            self.keyboard.press_shortcut_key('alt', 'w')
            time.sleep(0.5)
            self.mouse.click_element(317, 178, times=0.5)
            time.sleep(0.5)
            self.mouse.click_element(289, 383, times=0.5)

    def task_start(self, team):
        print("任务开始")
        self.common.get_focus()
        for i in range(6):
            self.mouse.click_element(772, 194, times=0.5)
            self.common.change_teamer(0.5)

        for j in range(15):
            for index, z in enumerate(team):
                if index is 0 or index is 2 or index is 4:
                    self.mouse.click_element(377, 477, times=0.5)
                    self.screen.find_ele_picture('game\\bidou\\begin2')
                    self.mouse.click_element(488, 504, times=0.5)
                self.mouse.click_element(309, 489, times=0.5)
                self.common.change_teamer(0.5)
            for z in range(6):
                if z is 0 or z is 2 or z is 4:
                    result_ = self.screen.find_ele_picture_time(
                        'game\\system\\zidong')
                    if result_ is True:
                        self.keyboard.press_shortcut_key('alt', 'a')
                        self.keyboard.press_shortcut_key('alt', 'a')
                        self.keyboard.press_shortcut_key('alt', '8')
                        self.common.change_teamer(0.5)
                        self.keyboard.press_shortcut_key('alt', 'a')
                        self.keyboard.press_shortcut_key('alt', 'a')
                        self.keyboard.press_shortcut_key('alt', '8')
                        self.common.change_teamer(0.5)
                    else:
                        self.common.change_teamer(0.5)
                        self.common.change_teamer(0.5)
            time.sleep(10)
示例#20
0
class GuiWang():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()

    def task_start(self):
        print("任务开始")
        self.common.get_focus()
        for j in range(3):
            self.mouse.click_element(675, 366, 1, True)
            time.sleep(2.5)
        self.keyboard.press_shortcut_key('alt', '5')
        time.sleep(10)
        # 领取任务
        while True:
            print("领取任务")
            self.mouse.click_element(392, 350)
            time.sleep(1)
            self.screen.cut_screen()
            result = self.screen.get_locations_picture(
                "D:\\dh2\\game\\guiwang\\0.png", 0.9)
            if result is not 0:
                self.mouse.click_element(225, 383)
                time.sleep(0.5)
                self.mouse.click_element(180, 353)
                time.sleep(0.5)
                self.mouse.click_element(180, 353)
                result_king = self.is_ghostKing()
                if result_king is True:
                    self.mouse.click_element(392, 350)
                    time.sleep(1)
                    self.screen.cut_screen()
                    result = self.screen.get_locations_picture(
                        "D:\\dh2\\game\\guiwang\\0.png", 0.9)
                    if result is not 0:
                        self.mouse.click_element(268, 330)
                        time.sleep(1)
                        self.mouse.click_element(268, 330)
                else:
                    break
        # 返回长安 开始寻路
        print("返回长安")
        while True:
            self.mouse.click_element(392, 350)
            time.sleep(1)
            self.screen.cut_screen()
            result = self.screen.get_locations_picture(
                "D:\\dh2\\game\\guiwang\\0.png", 0.75)
            if result is not 0:
                self.mouse.click_element(268, 365)
                time.sleep(2)
                self.mouse.click_element(29, 255)
                break

        self.common.capation_eat_xiang()
        # 找到NPC,开始战斗
        print("找NPC")
        time.sleep(10)
        self.screen.find_ele_picture('game\\guiwang\\1', 'mouse', 210, 340)
        for index in range(5):
            time.sleep(2)
            self.keyboard.press_shortcut_key('alt', '8')
            self.common.change_teamer()
            self.mouse.click_element(412, 429)
        time.sleep(10)
        self.screen.find_ele_picture('game\\guiwang\\2_', 'mouse', 172, 340)
        time.sleep(1)
        self.screen.cut_screen()
        time.sleep(1)
        ress = self.screen.get_locations_picture(
            "D:\\dh2\\game\\guiwang\\2_.png", 0.7)
        self.mouse.click_element(ress[0]['result'][0], ress[0]['result'][1])
        time.sleep(1)
        self.mouse.click_element(784, 539)
        time.sleep(1)
        print("回家 判断")
        self.return_home()
        time.sleep(1)
        Screen().cut_screen()
        box_result = Screen().get_location_picture(
            'D:\\dh2\\game\\xiaogui\\3.png', 0.8)
        if box_result is not 0:
            Mouse().click_element(327, 535)

    def is_ghostKing(self):
        self.screen.cut_screen_by_PIL(20, 265, 50, 300,
                                      "D:\\dh2\\system\\1.PNG")
        result = self.screen.find_color_ele(10, 10, 8, 8, 255, 255, 0, 0, 0, 0,
                                            True)
        if result is not None:
            return True
        else:
            return False

    def return_home(self):
        time.sleep(1)
        self.screen.cut_screen()
        result = self.screen.get_locations_picture(
            "D:\\dh2\\game\\guiwang\\3.png", 0.7)
        print(result)
        if len(result) is not 0:
            self.mouse.click_element(757, 455, 1, True)
            time.sleep(1.5)
            self.mouse.click_element(757, 455, 1, True)
            self.mouse.click_element(569, 450)
            self.mouse.click_element(178, 347)
示例#21
0
文件: tianti.py 项目: Greatwan/dh2
class TianTi():
    def __init__(self):
        self.transform = TransForm()
        self.common = Common()
        self.keyboard = KeyBoard()
        self.screen = Screen()
        self.mouse = Mouse()
    def chong_operate(self,type):
        if type is 0:
            self.keyboard.press_shortcut_key('alt', 'a')
        elif type is 1:
            self.keyboard.press_shortcut_key('alt', 'w')
            time.sleep(0.5)
            self.mouse.click_element(317, 178)
            time.sleep(0.5)
            self.mouse.click_element(289, 383)

    def task_start(self):
        print("任务开始")
        self.common.get_focus()
        time.sleep(1)
        # 切换宝宝
        for i in range(5):
            self.common.change_dog(2)
            time.sleep(1)
            self.common.change_teamer(times=0.3)
        time.sleep(1)
        self.mouse.click_element(757, 553)
        time.sleep(1)
        self.mouse.click_element(161, 327)
        time.sleep(3)
        # 开始点击天梯
        self.mouse.click_element(770, 193)
        time.sleep(1)
        for i in range(10):
            for z in range(5):
                self.mouse.click_element(422, 144,right=True)
                time.sleep(1)
                self.common.change_teamer(times=0.3)
            if i is not 0:
                time.sleep(3)
            self.screen.find_ele_picture('game\\tianti\\begin')
            self.mouse.click_element(470, 444)
            for z in range(5):
                if z is 0:
                    self.mouse.click_element(312, 490)
                else:
                    pyautogui.click()
                time.sleep(1)
                self.common.change_teamer(times=0.3)
            # flag = 0
            self.screen.find_ele_picture('system\\zidong')
            self.common.find_attack('f7')
            pyautogui.click()
            self.keyboard.press_shortcut_key('alt', '8',times=0.3)
            self.common.change_teamer(times=0.3)
            for i in range(4):
                self.keyboard.press_key('f7')
                pyautogui.click()
                pyautogui.rightClick()
                pyautogui.click()
                self.keyboard.press_shortcut_key('alt', '8',times=0.3)
                self.common.change_teamer(times=0.3)
            self.common.get_focus()
            self.common.game_over()