def consume(index = 9): print("in consume") key.tap( str(index) ) time.sleep(0.3) mouse.toggle(True, mouse.RIGHT_BUTTON) time.sleep(4) mouse.toggle(False, mouse.RIGHT_BUTTON) time.sleep(0.3) key.tap('1') # sword is at 1 print("end consume")
def launch_ball(x0, y0, x1, y1): mouse.move(x0, y0) #time.sleep(0.1) for y3 in range(y0+40, y1-40, -1): if y3 == y0: mouse.toggle(True, 1) x3 = int(float(y3-y1)/(y0-y1)*(x0-x1)+x1) if y3 % 10 == 0: mouse.move(x3, y3) if y3 == y1: mouse.toggle(False, 1) time.sleep(0.001) time.sleep(1)
def makeMove(self, move): self.gameState.makeMove(move) firstPt, secondPt = move.pointTuple() absFirst = self.boardToAbsPt(firstPt) absSecond = self.boardToAbsPt(secondPt) lastX, lastY = mouse.get_pos() mouse.move(absFirst.x, absFirst.y) mouse.toggle(True) mouse.move(absSecond.x, absSecond.y) mouse.toggle(False) mouse.move(lastX, lastY)
def executeMove(startX, startY, moveSequence): print(moveSequence) sx = x + startX * tileWidth + tileWidth/4 sy = y + startY * tileHeight + tileHeight/4 mouse.move(sx, sy) mouse.click() mouse.toggle(True) for i in range(len(moveSequence)): if(moveSequence[i] == 'l'): sx = sx - tileWidth if(moveSequence[i] == 'r'): sx = sx + tileWidth if(moveSequence[i] == 'u'): sy = sy - tileHeight if(moveSequence[i] == 'd'): sy = sy + tileHeight mouse.smooth_move(sx, sy) mouse.toggle(False)
def consume(index = 9): key.tap( str(index) ) mouse.toggle(True, mouse.RIGHT_BUTTON) # press down time.sleep(4) mouse.toggle(False, mouse.RIGHT_BUTTON) # release key.tap('1') # sword is at 1
def leftClickEnd(): mouse.toggle(False)
def leftClickStart(): mouse.toggle(True)
def onFrame(self, controller): # Get the most recent frame and report some basic information frame = controller.frame() hands = frame.hands() numHands = len(hands) pos = Leap.Vector(self.avgx, self.avgy, 0) if len(hands) > 0: hand = hands[-1] move_x = x(self.avgx) move_y = y(self.avgy) mouse.move(move_x, move_y) print "Moving to %d, %d" % (move_x, move_y) fingers = hand.fingers() print "Frame id: %d, timestamp: %d, hands: %d" % ( frame.id(), frame.timestamp(), numHands) hand = hands[0] palmRay = hand.palm() if palmRay is not None: print "Hand has palm position (%f, %f" % ( pos.x, pos.y) palm = palmRay.position pos.x = palm.x pos.y = palm.y numFingers = len(fingers) if numFingers == 1: mouse.toggle(False, mouse.LEFT_BUTTON) mouse.toggle(True, mouse.RIGHT_BUTTON) elif numFingers == 2: mouse.toggle(True, mouse.LEFT_BUTTON) mouse.toggle(False, mouse.RIGHT_BUTTON) else: mouse.toggle(False, mouse.LEFT_BUTTON) mouse.toggle(False, mouse.RIGHT_BUTTON) else: mouse.toggle(False, mouse.LEFT_BUTTON) mouse.toggle(False, mouse.RIGHT_BUTTON) self.avgx = self.avgx*0.7 + pos.x*0.3 self.avgy = self.avgy*0.7 + pos.y*0.3 time.sleep(0.001)
def mouse_down(x, y): mouse.move(x, y) mouse.toggle(True)
def mouse_up(x, y): mouse.move(x, y) mouse.toggle(False)
def dataReceived(self, data): #print "datareceived", data while data: try: decode, index = json_decode(data) except ValueError: # something went wrong.. FIXME return data = data[index:] if not isinstance(decode, dict): # something went wrong, gtfo for now, FIXME return command = decode.get('command') if command == 'mouse': pos = mouse.get_pos() action = decode.get('action') if action == 'click': for i in range(decode.get('n') or 1): mouse.click(BUTTONS[decode.get('b') - 1]) elif action == 'move': try: mouse.move(pos[0] + decode.get('dx'), pos[1] + decode.get('dy')) except ValueError: pass elif action == 'press': mouse.toggle(True, BUTTONS[decode.get('b') - 1]) elif action == 'release': mouse.toggle(False, BUTTONS[decode.get('b') - 1]) elif command == 'type': key.type_string(decode['string']) elif command == 'press_key': key.toggle(getattr(key, 'K_' + decode['key'].upper()), True) elif command == 'release_key': key.toggle(getattr(key, 'K_' + decode['key'].upper()), False) elif command == 'kill': self.kill_app(decode['uid']) elif command == 'capture': pos = mouse.get_pos() size = decode.get('size') maxx, maxy = screen.get_size() rect = (( max(0, min((pos[0] - size[0] / 2), maxx - size[0])), max(0, min((pos[1] - size[1] / 2), maxy - size[1])) ), (size[0], size[1])) try: bitmap.capture_screen(rect).save('tmp.png') except ValueError: return self.send(mouse_pos=(pos[0] - rect[0][0], pos[1] - rect[0][1])) #print "sending capture" self.send_image('tmp.png') elif decode.get('run') in zip(*self.commands)[0]: self.execute(decode.get('run'), decode.get('arguments'))
def click_chess(self, x, y): pos_x, pos_y = self.get_chess_postion(x, y) mouse.smooth_move(pos_x, pos_y) mouse.toggle(True) time.sleep(1) mouse.toggle(False)
def onFrame(self, controller): # Get the most recent frame and report some basic information frame = controller.frame() hands = frame.hands() numHands = len(hands) pos = Leap.Vector(self.avgx, self.avgy, 0) if len(hands) > 0: hand = hands[-1] move_x = x(self.avgx) move_y = y(self.avgy) mouse.move(move_x, move_y) print "Moving to %d, %d" % (move_x, move_y) fingers = hand.fingers() print "Frame id: %d, timestamp: %d, hands: %d" % ( frame.id(), frame.timestamp(), numHands) hand = hands[0] palmRay = hand.palm() if palmRay is not None: print "Hand has palm position (%f, %f" % (pos.x, pos.y) palm = palmRay.position pos.x = palm.x pos.y = palm.y numFingers = len(fingers) if numFingers == 1: mouse.toggle(False, mouse.LEFT_BUTTON) mouse.toggle(True, mouse.RIGHT_BUTTON) elif numFingers == 2: mouse.toggle(True, mouse.LEFT_BUTTON) mouse.toggle(False, mouse.RIGHT_BUTTON) else: mouse.toggle(False, mouse.LEFT_BUTTON) mouse.toggle(False, mouse.RIGHT_BUTTON) else: mouse.toggle(False, mouse.LEFT_BUTTON) mouse.toggle(False, mouse.RIGHT_BUTTON) self.avgx = self.avgx * 0.7 + pos.x * 0.3 self.avgy = self.avgy * 0.7 + pos.y * 0.3 time.sleep(0.001)