def __init__(self): self.xid = self.getBovoId() # init window self.win = gdk.window_foreign_new(self.xid) if self.win==None: print 'can not find window:',self.xid return self.win.set_keep_above(True) # keep the window always above sz = self.win.get_size() self.width = sz[0]-110-9 self.height = sz[1]-80-8 print "screenshot shape: ",(self.width,self.height) if self.width > 300 or self.height>300: print "WARN: the screenshot is too large, may take too much time in anlysis the pictures" if self.height!=222: print "ERROR: not correct window height, please keep minimizing the Bovo's window" return (self.win_x, self.win_y) = self.win.get_root_origin() # print "window locate at",(self.win_x, self.win_y) # for ubuntu14.10 result is (65, 52) # init Pixbuf to store the colormap of bovo chessboard self.pbuf = gdk.Pixbuf(gdk.COLORSPACE_RGB, False, 8, self.width, self.height) self.pixnum = self.pbuf.get_pixels_array() # set the bufffer queue of chessboards self.queuelen = 2; self.chessboards = np.zeros((self.queuelen, 22,22)) self.chbptr = 0 # chessboard pointer 0 or 1 # init mouse device self.mouse = mouse.mouse() # init robot self.rob = robot.robot(mode = robot.ROBOT_LEARNING)
def __init__(self, mode, param={}): param.update({ 'hwnds': self._get_hwnds(param.get('window_class'), param.get('window_name')) }) self._m = mouse(mode, param) self._s = screen(mode, param) return
def __init__(self): self.click_num = 0 self.check_num = 0 self.click = [] self.check = [] self.click_handler = mouse.mouse() self.ob_check = check.Check("127.0.0.1", 3333) self.resoluton = self.get_screen_resolution() self.window = {"main": self.resoluton[0], "extend": self.resoluton[1], "pip": [280, 260, 10, 220]} print self.window
def firstjob(worker): global m m, n = mou.mouse() fp = open("data.txt", "w") fp.write('{0}\n {1}\n {2}\n {3}\n'.format(haar.eye_coordinates_left, m, haar.eye_coordinates_right, n)) fp.close() print("\n\n\t\t\t ..... TRAINING ....\n\n\n") haar.left_syn0, haar.left_syn1, haar.left_s, haar.left_b, haar.left_u = cal.callibration( haar.eye_coordinates_left, m) haar.right_syn0, haar.right_syn1, haar.right_s, haar.right_b, haar.right_u = cal.callibration( haar.eye_coordinates_right, n) print("Training - Done!") haar.callibration = False
def main(): r = sr.Recognizer() with sr.Microphone() as source: while (True): print("Say something!") r.adjust_for_ambient_noise(source) audio = r.listen(source) # Speech recognition using Google Speech Recognition try: text = r.recognize_google(audio) print("You said: " + text) if text.split(' ')[0] == "play": p1 = Process(target=main) p1.start() p2 = Process(target=play) p2.start() p1.join() p2.join() elif text.split(' ')[1] == "camera": p1 = Process(target=main) p1.start() p2 = Process(target=Image_processing) p2.start() p1.join() p2.join() elif text.split(' ')[1] == "listening": mouse() else: speak('you should update the database') except sr.UnknownValueError: print("Google Speech Recognition could not understand audio") except sr.RequestError as e: print( "Could not request results from Google Speech Recognition service; {0}" .format(e))
def results_array(): if request.method == 'POST': number = int( request.form['number'] ) # saves value of number chosen by user as variable 'number' output = cat_mouse(number) # saves results list to variable 'output' dogs = dog(number) # saves number of dogs to variable 'dog' cats = cat(number) # saves number of cats to variable 'cats' catm = camo(number) # saves number of cat and mice to variable 'catm' mice = mouse(number) # saves number of mice to variable 'mice' return render_template("Result.html", text=output, dog=dogs, cats=cats, mice=mice, catm=catm)
def firstjob(worker): global m m = mou.mouse() fp = open("data.txt", "w") #fp.close() #os.system('cls') main2.iris_average = 1 time.sleep(1) fp.write( '"Ratios "\n {0} \n {1}\n iris_ratops \n {2} \n"screen coordinates"\n {3}\niris_ratios \n' .format(main2.ratios, main2.iris, m, main2.iris_ratios)) #main2.mouselist=m main2.callibration = False int4.main()
def main(): clock = pygame.time.Clock() IMAGES_DIR = os.getcwd() + "\\images\\" icon = pygame.image.load(IMAGES_DIR + "icon.png") pygame.display.set_icon(icon) reso = (640, 480) screen = pygame.display.set_mode(reso) pygame.display.set_caption(".::TEAL CONCRETE::.") Mouse = mouse.mouse() ronnie = unit.unit("ronnie", IMAGES_DIR + "ronnie", 10) rob = unit.unit("rob", IMAGES_DIR + "rob", 10) alyssa = unit.unit("alyssa", IMAGES_DIR + "alyssa", 10) zoe = unit.unit("zoe", IMAGES_DIR + "zoe", 10) monster = unit.unit("monster", IMAGES_DIR + "monster", 5) monster.x = 340 charSelected = False garage = scene.scene(IMAGES_DIR + "garage.png") robsHouse = scene.scene(IMAGES_DIR + "background.png") tv = pygame.image.load(IMAGES_DIR + "tvback.png") arrow = pygame.image.load(IMAGES_DIR + "arrow.png") counter = 0 def resetStats(): player.currentHP = player.maxHP player.x = 0 player.y = 205 player.hitCounter = 16 player.bounceCounter = 10 robsHouse.sysEvent = False robsHouse.userEvent = False def charSelection(): fontType = pygame.font.SysFont("Pixelated Regular", 55) textbox = pygame.image.load(IMAGES_DIR + "textbox.png") garage.update(screen) ronnie.isFlipped = True ronnie.update(screen, ronnie.idleList, 475, 300) rob.update(screen, rob.idleList, 100, 280) alyssa.update(screen, alyssa.idleList, 380, 260) zoe.update(screen, zoe.idleList, 260, 240) screen.blit(textbox, (25, 5)) screen.blit(fontType.render("SELECT YOUR CHARACTER", 0, ( 0, 0, 0, )), (55, 45)) arrowCoord = [(130, 210), (290, 170), (410, 190), (480, 230)] arrowIndex = 0 while 1: msElapse = clock.tick(30) Mouse.update() key = pygame.key.get_pressed() #Character Selection Screen if charSelected == False: charSelection() for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() pygame.quit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT: if arrowIndex < 3: arrowIndex += 1 elif event.key == pygame.K_LEFT: if arrowIndex > 0: arrowIndex -= 1 if event.key == pygame.K_z: if arrowIndex == 0: player = rob elif arrowIndex == 1: player = zoe elif arrowIndex == 2: player = alyssa elif arrowIndex == 3: player = ronnie #player.maxHP = 10 resetStats() charSelected = True screen.blit(arrow, arrowCoord[arrowIndex]) #Main Game else: useList = player.idleList robsHouse.update(screen) robsHouse.checkIfMsg(player) for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() pygame.quit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_z and robsHouse.userEvent == False and robsHouse.msgAvail == True: robsHouse.userEvent = True elif event.key == pygame.K_z and robsHouse.userEvent == True: robsHouse.list1 = [] robsHouse.list2 = [] #robsHouse.text = "" robsHouse.textCounter = 0 robsHouse.userEvent = False elif event.key == pygame.K_ESCAPE: charSelected = False elif event.key == pygame.K_f: player.currentHP -= 5 if robsHouse.userEvent == False and robsHouse.sysEvent == False: if key[pygame.K_RIGHT]: if player.x < (reso[0] - 128): player.isFlipped = False useList = player.walkList player.x += 10 elif key[pygame.K_LEFT]: if player.x > 0: player.isFlipped = True useList = player.walkList player.x -= 10 if key[pygame.K_UP]: if player.y > 205: useList = player.walkList player.y -= 5 elif key[pygame.K_DOWN]: if player.y < 355: useList = player.walkList player.y += 5 if player.currentHP <= 0: charSelected = False #player.currentHP = player.maxHP if player.rect.colliderect(monster.rect) and player.isHit == False: player.immuneCount() player.currentHP -= 1 elif player.isHit: player.immuneCount() if player.hitCounter >= 3 and player.hitCounter < 16: #Countdown while being in "hit state". robsHouse.sysEvent = True if player.bounceCounter > 0: player.bounceBack() else: robsHouse.sysEvent = False player.bounceBounce = 10 monster.update(screen, monster.idleList, monster.x, monster.y) if player.hitCounter % 2 == 0: #Flashing effect when damaged. player.update(screen, useList, player.x, player.y) screen.blit(tv, (380, 305)) if robsHouse.userEvent == True: robsHouse.printText(screen, player) print "HP: " + str(player.currentHP) + "/" + str(player.maxHP) print "sys: " + str(robsHouse.sysEvent) print "user: " + str(robsHouse.userEvent) print player.bounceCounter #print player.rect #print monster.rect pygame.display.flip()
def main(): game_over = False tile_width = 180 board_across = 5 board_down = 13 board_start_x = 178 board_start_y = 52 spawn_count = 0 mouse_image = mouse() right_click_x = None right_click_y = None right_clicked = False moved = False moved_count = 0 tile_sprite_group_y = pygame.sprite.Group() human_sprite_group = pygame.sprite.Group() human_red_sprite_group = pygame.sprite.Group() #***generate board x**** for e in range(0, board_across): board_x = board_start_x * e if e < board_across: for i in range(0, board_down): if i % 2 == 0: tile_y = tile((board_x + tile_width / 2), board_start_y * i) tile_sprite_group_y.add(tile_y) else: tile_y = tile(board_x, board_start_y * i) tile_sprite_group_y.add(tile_y) list_to_kill = [ 0, 1, 2, 3, 5, 7, 9, 10, 11, 12, 13, 14, 24, 25, 39, 51, 52, 53, 54, 62, 63, 64 ] for i in reversed(list_to_kill): tile_sprite_group_y.sprites()[i].kill() tile_sprite_group_y.update() tile_sprite_group_y.sprites()[1].occupied = 10 tile_sprite_group_y.sprites()[12].occupied_red = 10 tile_sprite_group_y.sprites()[20].occupied_red = 10 while not game_over: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: tile_sprite_group_y.update(True) gameDisplay.fill(black) pos = pygame.mouse.get_pos() mouse_image.update(pos[0], pos[1]) spawn_count += 1 if right_clicked and moved and moved_count >= 1: tile_sprite_group_y.update(True) right_clicked = False moved = False moved_count = 0 if moved: moved_count += 1 for s in tile_sprite_group_y: if s.owned and s.amount <= 500 and spawn_count == spawn_freq: human = man( s.rect.center[0] - 10 + random.randrange( -random_number_limit, random_number_limit), s.rect.center[1] - 10 + random.randrange( -random_number_limit, random_number_limit), "man.png") human_sprite_group.add(human) s.amount += 1 if s.selected and right_clicked and pygame.sprite.collide_mask( s, mouse_image): for hum in human_sprite_group: if pygame.sprite.collide_mask(s, hum): if not s.owned and s.occupied_red == 0 and s.occupied < 10: s.occupied += 1 hum.kill() if s.owned_red and 0 < s.occupied_red: s.occupied_red -= 1 hum.kill() for hum in human_red_sprite_group: if pygame.sprite.collide_mask(s, hum): if not s.owned_red and s.occupied == 0 and s.occupied_red < 10: s.occupied_red += 1 hum.kill() if s.owned and 0 < s.occupied: s.occupied -= 1 hum.kill() tile_sprite_group_y.update(True) if s.owned_red and s.amount <= 500 and spawn_count == spawn_freq: human = man( s.rect.center[0] - 10 + random.randrange( -random_number_limit, random_number_limit), s.rect.center[1] - 10 + random.randrange( -random_number_limit, random_number_limit), "man_red.png") human_red_sprite_group.add(human) s.amount += 1 if s.selected: for hum in human_sprite_group: if pygame.sprite.collide_mask(s, hum) and right_clicked: hum.move( right_click_x + random.randrange( -random_number_limit, random_number_limit), right_click_y + random.randrange( -random_number_limit, random_number_limit)) moved = True for hum in human_red_sprite_group: if pygame.sprite.collide_mask(s, hum) and right_clicked: hum.move( right_click_x + random.randrange( -random_number_limit, random_number_limit), right_click_y + random.randrange( -random_number_limit, random_number_limit)) moved = True if pygame.sprite.collide_mask(s, mouse_image): s.hover() if pygame.mouse.get_pressed()[0]: s.clicked() right_clicked = False if pygame.mouse.get_pressed()[2]: right_clicked = True right_click_x = s.rect.center[0] - 10 right_click_y = s.rect.center[1] - 10 else: s.un_hover() if spawn_count == spawn_freq + 1: spawn_count = 0 #***human collision*** for blue in human_sprite_group: for red in human_red_sprite_group: if pygame.sprite.collide_mask(blue, red): blue.kill() red.kill() tile_sprite_group_y.update() human_sprite_group.update() human_red_sprite_group.update() tile_sprite_group_y.draw(gameDisplay) human_sprite_group.draw(gameDisplay) human_red_sprite_group.draw(gameDisplay) mouse_image.draw(gameDisplay) pygame.display.flip() clock.tick(FPS)
def main(): clock = pygame.time.Clock() IMAGES_DIR = os.getcwd() + "\\images\\" icon = pygame.image.load(IMAGES_DIR + "icon.png") pygame.display.set_icon(icon) reso = (640, 480) screen = pygame.display.set_mode(reso) pygame.display.set_caption(".::TEAL CONCRETE::.") Mouse = mouse.mouse() ronnie = unit.unit("ronnie", IMAGES_DIR + "ronnie", 10) rob = unit.unit("rob", IMAGES_DIR + "rob", 10) alyssa = unit.unit("alyssa", IMAGES_DIR + "alyssa", 10) zoe = unit.unit("zoe", IMAGES_DIR + "zoe", 10) monster = unit.unit("monster", IMAGES_DIR + "monster", 5) monster.x = 340 charSelected = False garage = scene.scene(IMAGES_DIR + "garage.png") robsHouse = scene.scene(IMAGES_DIR + "background.png") tv = pygame.image.load(IMAGES_DIR + "tvback.png") arrow = pygame.image.load(IMAGES_DIR + "arrow.png") counter = 0 def resetStats(): player.currentHP = player.maxHP player.x = 0 player.y = 205 player.hitCounter = 16 player.bounceCounter = 10 robsHouse.sysEvent = False robsHouse.userEvent = False def charSelection(): fontType = pygame.font.SysFont("Pixelated Regular", 55) textbox = pygame.image.load(IMAGES_DIR + "textbox.png") garage.update(screen) ronnie.isFlipped = True ronnie.update(screen, ronnie.idleList, 475, 300) rob.update(screen, rob.idleList, 100, 280) alyssa.update(screen, alyssa.idleList, 380, 260) zoe.update(screen, zoe.idleList, 260, 240) screen.blit(textbox, (25, 5)) screen.blit(fontType.render("SELECT YOUR CHARACTER", 0, (0, 0, 0)), (55, 45)) arrowCoord = [(130, 210), (290, 170), (410, 190), (480, 230)] arrowIndex = 0 while 1: msElapse = clock.tick(30) Mouse.update() key = pygame.key.get_pressed() # Character Selection Screen if charSelected == False: charSelection() for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() pygame.quit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT: if arrowIndex < 3: arrowIndex += 1 elif event.key == pygame.K_LEFT: if arrowIndex > 0: arrowIndex -= 1 if event.key == pygame.K_z: if arrowIndex == 0: player = rob elif arrowIndex == 1: player = zoe elif arrowIndex == 2: player = alyssa elif arrowIndex == 3: player = ronnie # player.maxHP = 10 resetStats() charSelected = True screen.blit(arrow, arrowCoord[arrowIndex]) # Main Game else: useList = player.idleList robsHouse.update(screen) robsHouse.checkIfMsg(player) for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() pygame.quit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_z and robsHouse.userEvent == False and robsHouse.msgAvail == True: robsHouse.userEvent = True elif event.key == pygame.K_z and robsHouse.userEvent == True: robsHouse.list1 = [] robsHouse.list2 = [] # robsHouse.text = "" robsHouse.textCounter = 0 robsHouse.userEvent = False elif event.key == pygame.K_ESCAPE: charSelected = False elif event.key == pygame.K_f: player.currentHP -= 5 if robsHouse.userEvent == False and robsHouse.sysEvent == False: if key[pygame.K_RIGHT]: if player.x < (reso[0] - 128): player.isFlipped = False useList = player.walkList player.x += 10 elif key[pygame.K_LEFT]: if player.x > 0: player.isFlipped = True useList = player.walkList player.x -= 10 if key[pygame.K_UP]: if player.y > 205: useList = player.walkList player.y -= 5 elif key[pygame.K_DOWN]: if player.y < 355: useList = player.walkList player.y += 5 if player.currentHP <= 0: charSelected = False # player.currentHP = player.maxHP if player.rect.colliderect(monster.rect) and player.isHit == False: player.immuneCount() player.currentHP -= 1 elif player.isHit: player.immuneCount() if player.hitCounter >= 3 and player.hitCounter < 16: # Countdown while being in "hit state". robsHouse.sysEvent = True if player.bounceCounter > 0: player.bounceBack() else: robsHouse.sysEvent = False player.bounceBounce = 10 monster.update(screen, monster.idleList, monster.x, monster.y) if player.hitCounter % 2 == 0: # Flashing effect when damaged. player.update(screen, useList, player.x, player.y) screen.blit(tv, (380, 305)) if robsHouse.userEvent == True: robsHouse.printText(screen, player) print "HP: " + str(player.currentHP) + "/" + str(player.maxHP) print "sys: " + str(robsHouse.sysEvent) print "user: " + str(robsHouse.userEvent) print player.bounceCounter # print player.rect # print monster.rect pygame.display.flip()
from mouse import mouse import numpy as np import random m = mouse() ### the Q table q_table = np.zeros((4,4,m.num_actions)) # print(q_table[0,0]) ### hyperparameters num_iter = 15000 steps = 100 epsilon = 1.0 # exploit/explore rate gamma = 0.95 # reduction value of future values lr = 0.01 # learning rate decay = 0.001 # decay rate of gamma min_epsilon = 0.01 # min amount of decay to be reached # begin the main for loop of training for i in range(num_iter): statex,statey = m.reset() total_reward = 0 for step in range(steps): if random.uniform(0,1) > epsilon: action = np.argmax(q_table[statex,statey]) else: action = m.sample() new_statex, new_statey, reward, done = m.step(action) q_table[statex,statey,action] += lr * (reward+gamma*np.max(q_table[new_statex,new_statey,:])-q_table[statex,statey,action])
''' 多态:一种事物的多种形态 最终目标:人可以喂任何一种动物 ''' from cat import cat from mouse import mouse from person import person tom = cat("tom") jerry = mouse("jerry") tom.eat() jerry.eat() print(tom.name) #定义一个人,喂动物 per = person() per.feedAnimal(tom) per.feedAnimal(jerry) per.findAnimal(tom) #思考:100种动物,也都有name属性和eat方法 #可创建一个父类,都继承自父类。 #定义一个人类,可以喂猫和老鼠吃东西
def main(): clock = pygame.time.Clock() IMAGES_DIR = os.getcwd() + "\\images\\" icon = pygame.image.load(IMAGES_DIR + "icon.png") pygame.display.set_icon(icon) reso = (640,480) screen = pygame.display.set_mode(reso) pygame.display.set_caption(".::TEAL CONCRETE::.") Mouse = mouse.mouse() ronnie = unit.unit("ronnie", IMAGES_DIR + "ronnie") rob = unit.unit("rob", IMAGES_DIR + "rob") alyssa = unit.unit("alyssa", IMAGES_DIR + "alyssa") zoe = unit.unit("zoe", IMAGES_DIR + "zoe") player = alyssa robsHouse = scene.scene(IMAGES_DIR + "background.png") tv = pygame.image.load(IMAGES_DIR + "tvback.png") counter = 0 while 1: msElapse = clock.tick(30) Mouse.update() useList = player.idleList key = pygame.key.get_pressed() robsHouse.update(screen) robsHouse.checkIfMsg(player) for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() pygame.quit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_z and robsHouse.pressed == False and robsHouse.msgAvail == True: robsHouse.pressed = True elif event.key == pygame.K_z and robsHouse.pressed == True: robsHouse.pressed = False #If "z" isnt pressed down, then move.. if not you cant move if robsHouse.pressed == False: if key[pygame.K_RIGHT]: if player.x < (reso[0] - 128): player.isFlipped = False useList = player.walkList player.x += 10 elif key[pygame.K_LEFT]: if player.x > 0: player.isFlipped = True useList = player.walkList player.x -= 10 if key[pygame.K_UP]: if player.y > 205: useList = player.walkList player.y -= 5 elif key[pygame.K_DOWN]: if player.y < 355: useList = player.walkList player.y += 5 print player.x, player.y #TODO: IF THERE IS NO MSG AVAILABLE DONT PRINT THE TEXT BOX.. player.update(screen, useList) screen.blit(tv, (380,305)) if robsHouse.pressed == True: robsHouse.printText(screen, player) pygame.display.flip()