def mover(self, diccionario): try: self.config = data.Configuracion() self.b = duinobot.Board(self.config.board) self.r = duinobot.Robot(self.b, self.config.idrobot) self.keys = diccionario.keys() self.dict = diccionario self.ln = len(self.keys) self.ind = 0 tarea_send = threading.Timer(1, self._send) tarea_send.start() except (): pilas.avisar("Error en la comunicacion") print 'Error de comunicacion'
def __init__(self, pilas): self.pilas = pilas self.config = data.Configuracion() self.robot_animacion = False self.robot = robotlib.Mover_Robot() # actor que es el led de abajo! self.placalcd = self.pilas.actores.Actor( imagen='imag/Interfaz/placalcd.png', x=-100, y=-2000) self.placalcd.escala = 1 # actor que es la imageen de engranajes de la izquierda self.imag_engr_izq = self.pilas.actores.Actor( imagen='imag/Interfaz/Engraizq_1.png', x=-1820, y=1) self.imag_engr_izq.escala = 1 self.fin_x_chapa = -1078 # actor que es la imageen de engranajes de la derecha self.imag_engr_der = self.pilas.actores.Actor( imagen='imag/Interfaz/Engrader.png', x=1820, y=1) self.imag_engr_der.escala = 1 self.fin_x_chapa_dercha = 955 # ENGRANAJE 1 Que SE MUEVE imag_engranaje = self.pilas.imagenes.cargar('imag/Interfaz/engra1.png') #~ self.engranaje_1 = self.pilas.actores.Mono(imagen = imag_engranaje) self.engranaje_1 = self.pilas.actores.Actor(imagen=imag_engranaje) #~ self.engranaje_1.set_imagen() self.engranaje_1.x = 1670 self.engranaje_1.y = -468 imag_tele = self.pilas.imagenes.cargar_grilla( 'imag/Interfaz/tvmenor.png', 2) imag_tele.escala = 0.2 self.tele = self.pilas.actores.Animacion(imag_tele, x=1820, y=180, ciclica=True, velocidad=50) # Joystick self.joystick = self.pilas.actores.Actor( imagen='imag/comando/Controles/jostick.png', x=949, y=-1085) # BOTON RUN self.boton_run = self.pilas.actores.Boton( x=820, y=-1085, ruta_normal='imag/comando/Controles/runoff.png', ruta_press='imag/comando/Controles/runon.png', ruta_over='imag/comando/Controles/runover.png') #~ self.boton_run.conectar_presionado(self.__run) self.boton_run.conectar_sobre(self.boton_run.pintar_sobre) self.boton_run.conectar_normal(self.boton_run.pintar_normal) # BOTON ROBOT self.boton_robot = self.pilas.actores.Boton( x=1100, y=-1085, ruta_normal='imag/comando/Controles/robotnul.png', ruta_press='imag/comando/Controles/roboton.png', ruta_over='imag/comando/Controles/robotover.png') self.boton_robot.conectar_presionado(self.__run) self.boton_robot.conectar_sobre(self.boton_robot.pintar_sobre) self.boton_robot.conectar_normal(self.boton_robot.pintar_normal) # actor que es la grilla self.imag_grilla = self.pilas.actores.Actor( imagen='imag/Interfaz/grilla.png', x=-140, y=1200) self.imag_fueradelmapa( ) # se crea la imagen con transparencia 100% para que quede por debajo del robot # TAREA Y VARIABLES QUE SE ENCARGA DE GIRAR EL ENGRANAJE self.giro = 0 self.engranaje_estado = True self.factor = 0 self.velocidad = 1 self.tarea_engranaje = self.pilas.tareas.agregar( 0.01, self.girar_engranaje) self.tarea_stop_engranaje = self.pilas.tareas.agregar( 1.6, self.stop_engranaje) self.botones = botones.Botones(self.pilas) if self.config.graficos == True and self.config.lvlup == False: self.pilas.utils.interpolar(self.placalcd, 'y', -390, tipo='lineal', duracion=4) self.pilas.utils.interpolar(self.imag_engr_izq, 'x', self.fin_x_chapa, tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.imag_engr_der, 'x', self.fin_x_chapa_dercha, tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.engranaje_1, 'x', 775, tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.tele, 'x', 1100, tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.joystick, 'y', -485, tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_run, 'y', -485, tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_robot, 'y', -485, tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.imag_grilla, 'y', 110, tipo='elastico', duracion=4) # TAREA QUE HABILITA LOS BOTONES DE LOS NUMEROS Y COMANDOS #~ self.tarea_habilitar_botones = self.pilas.tareas.agregar_tarea(7, self.habilitar_botones) self.pilas.tareas.agregar(7, self.habilitar_botones) else: self.placalcd.y = -390 self.imag_engr_izq.x = self.fin_x_chapa self.imag_engr_der.x = self.fin_x_chapa_dercha self.engranaje_1.x = 775 self.tele.x = 1100 self.joystick.y = -485 self.boton_run.y = -485 self.boton_robot.y = -485 self.imag_grilla.y = 110 self.imag_grilla.y = 110 # TAREA QUE HABILITA LOS BOTONES DE LOS NUMEROS Y COMANDOS self.tarea_habilitar_botones = self.pilas.tareas.agregar( 2, self.habilitar_botones)
def __init__(self, pilas): self.pilas = pilas self.config = data.Configuracion() #Se crea instancia de movimientos , donde estaran todos los movientos #almacenados de la manera de tupla ('moviento',cantidad de veces) self.moves = Movimientos.iniciar() self.giro = (-1, -1) #variable para habilitar o deshabilitar los botones! self.estado_botones = False #inicializo variables self.numb = False self.retorn_boton_ant = False self.press = 0 #MATRIZ INICIO PARA POSICIONES DE LOS BOTONES NUMERICOS self.posiciones = lib.Matriz(3, 3) y = 432 for filas in range(0, 3): x = -2000 for columnas in range(0, 3): self.posiciones.set_valor(filas, columnas, (x, y)) x = x + 135 y = y - 129 #MATRIZ INICIO PARA POSICIONES DE CONTROL FLECHAS self.posiciones_flechas = lib.Matriz(3, 3) y = -134 for filas in range(0, 3): x = -2000 for columnas in range(0, 3): self.posiciones_flechas.set_valor(filas, columnas, (x, y)) x = x + 135 y = y - 129 self.control_prompt = prompt.ControladorDePrompt(self.pilas) self.boton_1 = self.pilas.actores.Boton( x=self.posiciones.get_valor(0, 0)[0], y=432, ruta_normal='imag/comando/1off.png', ruta_press='imag/comando/1on.png', ruta_over='imag/comando/1i.png') self.boton_1.conectar_presionado(self.__set_1) self.boton_1.conectar_sobre(self.boton_1.pintar_sobre) self.boton_1.conectar_normal(self.boton_1.pintar_normal) self.boton_1.aprender(self.pilas.habilidades.Arrastrable) self.boton_2 = self.pilas.actores.Boton( x=self.posiciones.get_valor(0, 1)[0], y=self.posiciones.get_valor(0, 1)[1], ruta_normal='imag/comando/2off.png', ruta_press='imag/comando/2on.png', ruta_over='imag/comando/2i.png') self.boton_2.conectar_presionado(self.__set_2) self.boton_2.conectar_sobre(self.boton_2.pintar_sobre) self.boton_2.conectar_normal(self.boton_2.pintar_normal) self.boton_3 = self.pilas.actores.Boton( x=self.posiciones.get_valor(0, 2)[0], y=self.posiciones.get_valor(0, 2)[1], ruta_normal='imag/comando/3off.png', ruta_press='imag/comando/3on.png', ruta_over='imag/comando/3i.png') self.boton_3.conectar_presionado(self.__set_3) self.boton_3.conectar_sobre(self.boton_3.pintar_sobre) self.boton_3.conectar_normal(self.boton_3.pintar_normal) self.boton_4 = self.pilas.actores.Boton( x=self.posiciones.get_valor(1, 0)[0], y=self.posiciones.get_valor(1, 0)[1], ruta_normal='imag/comando/4off.png', ruta_press='imag/comando/4on.png', ruta_over='imag/comando/4i.png') self.boton_4.conectar_presionado(self.__set_4) self.boton_4.conectar_sobre(self.boton_4.pintar_sobre) self.boton_4.conectar_normal(self.boton_4.pintar_normal) self.boton_5 = self.pilas.actores.Boton( x=self.posiciones.get_valor(1, 1)[0], y=self.posiciones.get_valor(1, 1)[1], ruta_normal='imag/comando/5off.png', ruta_press='imag/comando/5on.png', ruta_over='imag/comando/5i.png') self.boton_5.conectar_presionado(self.__set_5) self.boton_5.conectar_sobre(self.boton_5.pintar_sobre) self.boton_5.conectar_normal(self.boton_5.pintar_normal) self.boton_6 = self.pilas.actores.Boton( x=self.posiciones.get_valor(1, 2)[0], y=self.posiciones.get_valor(1, 2)[1], ruta_normal='imag/comando/6off.png', ruta_press='imag/comando/6on.png', ruta_over='imag/comando/6i.png') self.boton_6.conectar_presionado(self.__set_6) self.boton_6.conectar_sobre(self.boton_6.pintar_sobre) self.boton_6.conectar_normal(self.boton_6.pintar_normal) self.boton_7 = self.pilas.actores.Boton( x=self.posiciones.get_valor(2, 0)[0], y=self.posiciones.get_valor(2, 0)[1], ruta_normal='imag/comando/7off.png', ruta_press='imag/comando/7on.png', ruta_over='imag/comando/7i.png') self.boton_7.conectar_presionado(self.__set_7) self.boton_7.conectar_sobre(self.boton_7.pintar_sobre) self.boton_7.conectar_normal(self.boton_7.pintar_normal) self.boton_8 = self.pilas.actores.Boton( x=self.posiciones.get_valor(2, 1)[0], y=self.posiciones.get_valor(2, 1)[1], ruta_normal='imag/comando/8off.png', ruta_press='imag/comando/8on.png', ruta_over='imag/comando/8i.png') self.boton_8.conectar_presionado(self.__set_8) self.boton_8.conectar_sobre(self.boton_8.pintar_sobre) self.boton_8.conectar_normal(self.boton_8.pintar_normal) self.boton_9 = self.pilas.actores.Boton( x=self.posiciones.get_valor(2, 2)[0], y=self.posiciones.get_valor(2, 2)[1], ruta_normal='imag/comando/9off.png', ruta_press='imag/comando/9on.png', ruta_over='imag/comando/9i.png') self.boton_9.conectar_presionado(self.__set_9) self.boton_9.conectar_sobre(self.boton_9.pintar_sobre) self.boton_9.conectar_normal(self.boton_9.pintar_normal) self.boton_up = self.pilas.actores.Boton( x=self.posiciones_flechas.get_valor(0, 1)[0], y=self.posiciones_flechas.get_valor(0, 1)[1], ruta_normal='imag/comando/arribaoff.png', ruta_press='imag/comando/arribaon.png', ruta_over='imag/comando/arribai.png') self.boton_up.conectar_presionado(self.__up) self.boton_up.conectar_sobre(self.boton_up.pintar_sobre) self.boton_up.conectar_normal(self.boton_up.pintar_normal) self.boton_left = self.pilas.actores.Boton( x=self.posiciones_flechas.get_valor(1, 0)[0], y=self.posiciones_flechas.get_valor(1, 0)[1], ruta_normal='imag/comando/izquierdaoff.png', ruta_press='imag/comando/izquierdaon.png', ruta_over='imag/comando/izquierdai.png') self.boton_left.conectar_presionado(self.__izquierda) self.boton_left.conectar_sobre(self.boton_left.pintar_sobre) self.boton_left.conectar_normal(self.boton_left.pintar_normal) self.boton_right = self.pilas.actores.Boton( x=self.posiciones_flechas.get_valor(1, 2)[0], y=self.posiciones_flechas.get_valor(1, 2)[1], ruta_normal='imag/comando/derechaoff.png', ruta_press='imag/comando/derechaon.png', ruta_over='imag/comando/derechai.png') self.boton_right.conectar_presionado(self.__derecha) self.boton_right.conectar_sobre(self.boton_right.pintar_sobre) self.boton_right.conectar_normal(self.boton_right.pintar_normal) self.boton_down = self.pilas.actores.Boton( x=self.posiciones_flechas.get_valor(2, 1)[0], y=self.posiciones_flechas.get_valor(2, 1)[1], ruta_normal='imag/comando/abajooff.png', ruta_press='imag/comando/abajoon.png', ruta_over='imag/comando/abajoi.png') self.boton_down.conectar_presionado(self.__down) self.boton_down.conectar_sobre(self.boton_down.pintar_sobre) self.boton_down.conectar_normal(self.boton_down.pintar_normal) #self.boton_duinobot=pilas.actores.boton.Boton(x=1152,y=-1085,ruta_normal='imag/comando/Controles/robotnul.png', ruta_press='imag/comando/Controles/roboton.png', ruta_over='imag/comando/Controles/robotover.png') #self.boton_duinobot.conectar_presionado(self.__duinobot) #self.boton_duinobot.conectar_sobre(self.boton_duinobot.pintar_sobre) #self.boton_duinobot.conectar_normal(self.boton_duinobot.pintar_normal) #self.boton_duinobot.y= pilas.interpolar(-485,tipo='lineal',demora=4 , duracion=2) self.sumador = 0 self.posiciones = lib.Matriz(3, 3) y = 432 for filas in range(0, 3): x = -1235 for columnas in range(0, 3): self.posiciones.set_valor(filas, columnas, (x, y)) x = x + 135 y = y - 129 self.posiciones_flechas = lib.Matriz(3, 3) y = -134 for filas in range(0, 3): x = -1235 for columnas in range(0, 3): self.posiciones_flechas.set_valor(filas, columnas, (x, y)) x = x + 135 y = y - 129 if self.config.graficos and not self.config.lvlup: ## comienZo de todas las interpolaciones de los botones #self.boton_1.x=pilas.interpolar(self.posiciones.get_valor(0,0)[0],tipo='lineal',demora=1 , duracion=2) self.pilas.utils.interpolar(self.boton_1, 'x', self.posiciones.get_valor(0, 0)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_1, 'y', self.posiciones.get_valor(0, 0)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_2, 'x', self.posiciones.get_valor(0, 1)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_2, 'y', self.posiciones.get_valor(0, 1)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_3, 'x', self.posiciones.get_valor(0, 2)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_3, 'y', self.posiciones.get_valor(0, 2)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_4, 'x', self.posiciones.get_valor(1, 0)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_4, 'y', self.posiciones.get_valor(1, 0)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_5, 'x', self.posiciones.get_valor(1, 1)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_5, 'y', self.posiciones.get_valor(1, 1)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_6, 'x', self.posiciones.get_valor(1, 2)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_6, 'y', self.posiciones.get_valor(1, 2)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_7, 'x', self.posiciones.get_valor(2, 0)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_7, 'y', self.posiciones.get_valor(2, 0)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_8, 'x', self.posiciones.get_valor(2, 1)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_8, 'y', self.posiciones.get_valor(2, 1)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_9, 'x', self.posiciones.get_valor(2, 2)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_9, 'y', self.posiciones.get_valor(2, 0)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_up, 'x', self.posiciones_flechas.get_valor( 0, 1)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_up, 'y', self.posiciones_flechas.get_valor( 0, 1)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_down, 'x', self.posiciones_flechas.get_valor( 2, 1)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_down, 'y', self.posiciones_flechas.get_valor( 2, 1)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_left, 'x', self.posiciones_flechas.get_valor( 1, 0)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_left, 'y', self.posiciones_flechas.get_valor( 1, 0)[1], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_right, 'x', self.posiciones_flechas.get_valor( 1, 2)[0], tipo='lineal', duracion=2) self.pilas.utils.interpolar(self.boton_right, 'y', self.posiciones_flechas.get_valor( 1, 2)[1], tipo='lineal', duracion=2) else: self.boton_1.x = self.posiciones.get_valor(0, 0)[0] self.boton_1.y = self.posiciones.get_valor(0, 0)[1] self.boton_2.x = self.posiciones.get_valor(0, 1)[0] self.boton_2.y = self.posiciones.get_valor(0, 1)[1] self.boton_3.x = self.posiciones.get_valor(0, 2)[0] self.boton_3.y = self.posiciones.get_valor(0, 2)[1] self.boton_4.x = self.posiciones.get_valor(1, 0)[0] self.boton_4.y = self.posiciones.get_valor(1, 0)[1] self.boton_5.x = self.posiciones.get_valor(1, 1)[0] self.boton_5.y = self.posiciones.get_valor(1, 1)[1] self.boton_6.x = self.posiciones.get_valor(1, 2)[0] self.boton_6.y = self.posiciones.get_valor(1, 2)[1] self.boton_7.x = self.posiciones.get_valor(2, 0)[0] self.boton_7.y = self.posiciones.get_valor(2, 0)[1] self.boton_8.x = self.posiciones.get_valor(2, 1)[0] self.boton_8.y = self.posiciones.get_valor(2, 1)[1] self.boton_9.x = self.posiciones.get_valor(2, 2)[0] self.boton_9.y = self.posiciones.get_valor(2, 0)[1] self.boton_up.x = self.posiciones_flechas.get_valor(0, 1)[0] self.boton_up.y = self.posiciones_flechas.get_valor(0, 1)[1] self.boton_down.x = self.posiciones_flechas.get_valor(2, 1)[0] self.boton_down.y = self.posiciones_flechas.get_valor(2, 1)[1] self.boton_left.x = self.posiciones_flechas.get_valor(1, 0)[0] self.boton_left.y = self.posiciones_flechas.get_valor(1, 0)[1] self.boton_right.x = self.posiciones_flechas.get_valor(1, 2)[0] self.boton_right.y = self.posiciones_flechas.get_valor(1, 2)[1]