Example #1
0
    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'
Example #2
0
    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)
Example #3
0
    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]