Beispiel #1
0
    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
Beispiel #2
0
 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
Beispiel #3
0
 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")
Beispiel #4
0
    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
Beispiel #5
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
Beispiel #6
0
 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)
Beispiel #7
0
 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
Beispiel #8
0
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()
Beispiel #9
0
 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)
Beispiel #11
0
 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")
Beispiel #12
0
 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)
Beispiel #13
0
 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)
Beispiel #14
0
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 )
Beispiel #15
0
 def stop(self):
     self._currentCount = self.countLimit
     log.log("stop")
     return
Beispiel #16
0
 def cannotrecognisesolog(self):
     log.log("cannot recognise")
     return
Beispiel #17
0
def compute(con):
	F = "base.py"
	L.log( "Debut de %s " % F)
	L.log( "Fin de %s" % F)