def start(self): log.log("juexing start") while(self._currentCount < self.countLimit): if False: pass elif self.imageengine.find_picture("jieshou"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("zhunbei"): self.mouseengine.clickadddefault(0,-60) elif self.imageengine.find_picture("win"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("dianjijixu"): self.mouseengine.clickdefault() if self.masterMode == baseenum.RobotMode.mastermode: if self.imageengine.find_picture("queding"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("zidongkaishi") and self.imageengine.find_picture("kaishizhandou"): self.mouseengine.clickdefault() self._currentCount += 1 time.sleep(3) elif self.imageengine.find_picture("morenyaoqing"): self.mouseengine.clickdefault() if self.masterMode == baseenum.RobotMode.slavemode: if self.imageengine.find_picture("allyes"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("yes"): self.mouseengine.clickdefault() log.log("juexing start") return
def salvestart(self): log.log("slave start") while(self._currentCount < self.countLimit): if self.isatendbattlewindow(): self.clickendbattle() elif self.isatshowspoilswindow(): self.clicklowerright() elif self.isatteaminvitewindow(): self.clickyes() elif self.isatbaoxiangwindow(): self.clickbaoxiang() # elif self.isatlosewindow(): # self.clicklose() # elif self.isatnoenergywindow(): # self.stop() # elif self.isatendbattlewindow(): # self.clickendbattle() elif self.isatwinwindow(): self.clickwin() elif self.iszhunbei(): self.clickzhunbei() # elif self.isatxuanshanginvitewindow(): # self.clickno() else: self.cannotrecognisesolog() return
def yuhunsiji(self): log.log("yuhun start") while (self._currentCount < self.countLimit): if False: pass elif self.imageengine.find_picture("zhunbei"): self.mouseengine.clickadddefault(0, -60) elif self.imageengine.find_picture("win"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("endbattle"): self.mouseengine.clickdefault() if self.masterMode == baseenum.RobotMode.mastermode: if self.imageengine.find_picture("queding"): self.mouseengine.clickdefault() elif self.imageengine.find_picture( "zifeiyue") and self.imageengine.find_picture( "kaishizhandou"): self.mouseengine.clickdefault() self._currentCount += 1 time.sleep(3) if self.masterMode == baseenum.RobotMode.slavemode: if self.imageengine.find_picture("allyes"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("yes"): self.mouseengine.clickdefault() log.log("yuhun start")
def find_picture(self, imagename): try: # get image by image name image = self.getimagebypath(imagename) # get screen shot # backgroundshot = ImageGrab.grab((0, 0, self.endx, self.endy)) backgroundshot = ImageGrab.grab() # backgroundshot.save("C:\\Users\\baijuyi\\Documents\\GitHub\\yys2\\Resource\\1.png") # convert screen shot to image backgroundimage = np.array(backgroundshot.convert('L')) res = cv2.matchTemplate(backgroundimage, image, eval(self.method)) min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res) # similar rate value = max_val if value > 0.9: # get picture position top_left = max_loc # get center point w, h = image.shape[::-1] x = int(top_left[0]) y = int(top_left[1]) #compute click point randomx1 = int(w / 10) randomx2 = w - randomx1 randomy1 = int(h / 10) randomy2 = h - randomy1 x = int(top_left[0] + random.randint(randomx1, randomx2)) y = int(top_left[1] + random.randint(randomy1, randomy2)) # resize location if macos x = int(x / self.registerengine.ratex) y = int(y / self.registerengine.ratey) self.registerengine.lastlastpic = self.registerengine.lastpic self.registerengine.lastpic = imagename else: x = 0 y = 0 log.log( "image name is '%s' and similar value is '%s' and x,y is '%s,%s'" % (imagename, value, x, y)) self.registerengine.lastlastx = self.registerengine.lastx self.registerengine.lastlasty = self.registerengine.lasty self.registerengine.lastx = x self.registerengine.lasty = y return x except: return 0
def slide_down(self, x, y, h): log.log("move and location x,y '%s, %s' " % (x, y)) m = PyMouse() m.move(x, y) m.press(x, y, 1) time.sleep(1) m.move(x, y + h) m.release(x, y + h, 1) return
def repetverify(self): if self.registerengine.repeatmode == 0: return if self.registerengine.lastpic == self.registerengine.lastlastpic: self.repeatcount += 1 else: self.repeatcount = 0 if self.repeatcount > -1: log.log("repeat click count is %s ,repeat name is %s" % (self.repeatcount, self.registerengine.lastpic)) time.sleep(self.repeatcount)
def start(self): log.log("start") if self.masterMode == baseenum.RobotMode.mastermode: self.masterstart() elif self.masterMode == baseenum.RobotMode.slavemode: self.salvestart() elif self.masterMode == baseenum.RobotMode.selfmode: self.selfstart() else: self.stop() return
def gnr_comcli(con, client, cde): cur = con.cursor() req_e = "insert into COMCLI values (0, SYSDATE, %s)" % client cur.execute(req_e) NCOM = cur.execute("select CCL_SEQ.currval from dual").fetchone() L.log("Commande No : %s " % NCOM[0]) n = 1 for l in cde: req_l = """ insert into LIGCLI (NUMCOM, NUMLIG, PRODUIT, QCOM, PRIX) values ( %s, %s, %s , %s , 0) """ % ( NCOM[0], n, l[0], l[1]) #print req_l cur.execute(req_l) n += 1 update_prix(con, NCOM[0]) cur.close()
def start(self): log.log("juexing start") while (self._currentCount < self.countLimit): if False: pass elif self.imageengine.find_picture("tiaozhan"): self.mouseengine.clickdefault() self._currentCount += 1 time.sleep(1) elif self.imageengine.find_picture("zhunbei"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("win"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("endbattle"): self.mouseengine.clickdefault() log.log("juexing start") return
def compute(con): F = __file__ L.log( "Debut de %s " % F) L.log( "Connexion " ) con = connexion() facturation_client(con) L.log( "Fin de %s" % F)
def tansuo(self): log.log("tansuo start") while (self._currentCount < self.countLimit): if False: pass elif self.imageengine.find_picture("win"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("zhunbei"): self.mouseengine.clickadddefault(0, -100) elif self.imageengine.find_picture("showspoils"): self.mouseengine.clickadddefault(0, 400) elif self.imageengine.find_picture("endbattle"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("baoxiang"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("ditubaoxiang"): self.mouseengine.clickdefault() elif self.imageengine.find_picture("jieshou"): self.mouseengine.clickdefault() else: if self.masterMode == baseenum.RobotMode.selfmode: if self.imageengine.find_picture("tansuo"): self.mouseengine.clickdefault() if self.masterMode == baseenum.RobotMode.mastermode: if self.imageengine.find_picture("yaoqingzudui"): self.mouseengine.clickdefault() if self.masterMode == baseenum.RobotMode.slavemode: if self.imageengine.find_picture("yes"): self.mouseengine.clickdefault() ## if baseenum.RobotMode.slavemode != self.masterMode: if self.imageengine.find_picture("zhangjie"): if self.imageengine.find_picture("zhangjie%s" % (self.zhangjie)): # 每打3把,暂停30秒 if self._currentCount > 1 and self._currentCount % 3 == 0: time.sleep(random.randint(5, 39) / 10) else: time.sleep(random.randint(5, 29) / 10) self.mouseengine.clickdefault() self._currentCount += 1 log.log("current count %s" % self._currentCount) else: # 在章节页面,但是没有找到指定章节时,滚动一下 gundongengine.slide_up( self.registerengine.lastlastx, self.registerengine.lastlasty, -300) elif self.imageengine.find_picture("boss"): self.mouseengine.clickdefault() time.sleep(random.randint(1, 3)) elif self.imageengine.find_picture("xiaoguai"): self.mouseengine.clickdefault() time.sleep(random.randint(1, 3)) # 没有找到敌人时,但是又在副本里面时走一步 elif self.imageengine.find_picture("suodingchuzhan"): self.mouseengine.clickadddefault(0, -80) time.sleep(random.randint(1, 9) / 10) log.log("tansuo end")
def clickadddefault(self, addx, addy): x = int(self.registerengine.lastx + addx / self.registerengine.ratex) y = int(self.registerengine.lasty + addy / self.registerengine.ratey) log.log("click and location x,y '%s, %s' " % (x, y)) return self.leftclick(x, y)
def clickdefault(self): x = self.registerengine.lastx y = self.registerengine.lasty log.log("click and location x,y '%s, %s' " % (x, y)) return self.leftclick(x, y)
def compute(con): F = "client.py" L.log("Debut de %s" % F ) L.log("Choix du client") client = choose_cli(con) L.log( "Client : %s " % client ) catalog = get_catalog(con) L.log( "Catalog : %s " % catalog ) ## Combien pour chaque produit cde = [ (x,random.randint(1,500)) for x in catalog ] L.log( "Commande : %s " % cde ) L.log( "Generation des commandes" ) gnr_comcli(con, client, cde) L.log("Fin de %s" % F )
def stop(self): self._currentCount = self.countLimit log.log("stop") return
def cannotrecognisesolog(self): log.log("cannot recognise") return
def compute(con): F = "base.py" L.log( "Debut de %s " % F) L.log( "Fin de %s" % F)