def click_caja(self): def activar_estado_var(): variables.estado = True # salida if self.open_inventory == False: if self.estado == True: variables.estado = False for i in range(self.n_inventory): pos_x = ((self.x + 40) + (self.inventory[0].obtener_ancho() + 20) * i) self.inventory[i].x = pilas.interpolar([pos_x], duracion = 0.5) self.inventory[i].transparencia = 0 pilas.mundo.agregar_tarea_una_vez(0.5, self.activar_estado) pilas.mundo.agregar_tarea_una_vez(0.5, activar_estado_var) self.estado = False self.open_inventory = True # entrada else: if self.estado == True: for i in range(self.n_inventory): variables.estado = False self.inventory[i].x = pilas.interpolar([self.x], duracion = 0.5) pilas.mundo.agregar_tarea_una_vez(0.5, self.activar_estado) self.inventory[i].transparencia = pilas.interpolar([100], duracion = 0.5) self.estado = False self.open_inventory = False self.escala = pilas.interpolar([1.5, 0.8], duracion = 0.2)
def mover(self, mov): mover_x = [] mover_y = [] for x in mov: mover_x.append(x[0]) mover_y.append(x[1]) self.personaje.x = pilas.interpolar(mover_x, 2) self.personaje.y = pilas.interpolar(mover_y, 2)
def mover(self, fila, columna): # Primero se busca la coordenada correspopndiente dentro de la matriz , para luego posicionar el actor # el paramentro de entrada es un Numero de de Fila y otro de columna self.coordenada = self.matrix.get_valor(fila, columna) self.r.actor.x = pilas.interpolar(self.coordenada[0], 0.3) self.r.actor.y = pilas.interpolar(self.coordenada[1], 0.3) self.posicion_jugador_ant.punto = self.coordenada
def crear_enemigo(): enemigo = pilas.actores.Mono() x = random.randrange(-320, 320) y = random.randrange(-240, 240) # Hace que la aceituna aparezca gradualmente, aumentando de tamaño. enemigo.escala = 0 enemigo.escala = pilas.interpolar(0.5, duracion=0.5, tipo='elastico_final') enemigo.aprender(pilas.habilidades.PuedeExplotar) if x >= 0 and x <= 100: x = 180 elif x <= 0 and x >= -100: x = -180 if y >= 0 and y <= 100: y = 180 elif y <= 0 and y >= -100: y = -180 enemigo.x = x enemigo.y = y enemigos.append(enemigo) tipo_interpolacion = [ 'lineal', 'aceleracion_gradual', 'desaceleracion_gradual', 'rebote_inicial', 'rebote_final' ] enemigo.x = pilas.interpolar(0, tiempo, tipo=random.choice(tipo_interpolacion)) enemigo.y = pilas.interpolar(0, tiempo, tipo=random.choice(tipo_interpolacion)) if random.randrange(0, 20) > 15: if issubclass(torreta.habilidades.DispararConClick.municion, municion_bala_simple): estrella = pilas.actores.Estrella(x, y) estrella.escala = pilas.interpolar(0.5, duracion=0.5, tipo='elastico_final') pilas.escena_actual().colisiones.agregar( estrella, torreta.habilidades.DispararConClick.proyectiles, asignar_arma_doble) pilas.mundo.agregar_tarea(3, eliminar_estrella, estrella) if fin_de_juego: return False else: return True
def click_on_elements(self): for i in range(self.n_inventory): self.inventory[i].y = pilas.interpolar([self.y], duracion=0.5) self.inventory[i].escala = [0.5] self.inventory[i].x = pilas.interpolar([self.x], duracion=0.5) self.inventory[i].transparencia = pilas.interpolar([100], duracion=0.5) pilas.mundo.agregar_tarea_una_vez(0.5, self.activar_estado) self.inventory[i].desconectar_presionado_todo() self.inventory[i].desconectar_normal_todo() self.inventory[i].desconectar_sobre_todo() self.inventory[i].conectar_presionado(self.al_presionar_elements_in_inventory, i) variables.estado = False
def crear_enemigo(): enemigo = pilas.actores.Mono() x = random.randrange(-320, 320) y = random.randrange(-240, 240) # Hace que la aceituna aparezca gradualmente, aumentando de tamaño. enemigo.escala = 0 enemigo.escala = pilas.interpolar(0.5, duracion=0.5, tipo='elastico_final') enemigo.aprender(pilas.habilidades.PuedeExplotar) if x >= 0 and x <= 100: x = 180 elif x <= 0 and x >= -100: x = -180 if y >= 0 and y <= 100: y = 180 elif y <= 0 and y >= -100: y = -180 enemigo.x = x enemigo.y = y enemigos.append(enemigo) tipo_interpolacion = ['lineal', 'aceleracion_gradual', 'desaceleracion_gradual', 'rebote_inicial', 'rebote_final'] enemigo.x = pilas.interpolar(0, tiempo, tipo=random.choice(tipo_interpolacion)) enemigo.y = pilas.interpolar(0, tiempo, tipo=random.choice(tipo_interpolacion)) if random.randrange(0, 20) > 15: if issubclass(torreta.habilidades.DispararConClick.municion, municion_bala_simple): estrella = pilas.actores.Estrella(x,y) estrella.escala = pilas.interpolar(0.5, duracion=0.5, tipo='elastico_final') pilas.escena_actual().colisiones.agregar(estrella, torreta.habilidades.DispararConClick.proyectiles, asignar_arma_doble) pilas.mundo.agregar_tarea(3, eliminar_estrella, estrella) if fin_de_juego: return False else: return True
def termino_juego(self): self.termino = pilas.actores.Actor("termino.png") self.termino.y = 300 self.termino.y = pilas.interpolar(0, 2) self.p = pilas.actores.Puntaje() self.p.definir(puntuacion.p) self.p.y = 280 self.p.x = -10 self.p.y = pilas.interpolar(-20, 2) self.estado = False
def comer_comida(oso, elemento): #sonido # Si el elemento tiene un sonido único, elemento.sonido será una cadena. Sino, será una lista de la cual elijo un elemento al azar. if type(elemento.sonido) == str: sonido = pilas.sonidos.cargar(elemento.sonido) else: sonido = pilas.sonidos.cargar(random.choice(elemento.sonido)) sonido.reproducir() elemento.eliminar() chat(random.choice(elemento.decirAlUsar), 4) masticando = pilas.imagenes.cargar_grilla("pics/rostros/masticando.png", 10) rostro.transparencia = 100 boca = pilas.actores.Animacion(masticando, False, x = 45, y = 94) boca.z = 1 rostro.transparencia = pilas.interpolar(0, 0.01, demora = 0.92) barra_comida.progreso = [barra_comida.progreso + elemento.calorias] barra_salud.progreso = [barra_salud.progreso - elemento.loqueensucia] global puntos puntos += 10 texto_puntos.texto = str(puntos) #actualizo los valores en disco actualizarValores(barra_alegria.progreso, barra_salud.progreso - elemento.loqueensucia, barra_comida.progreso + elemento.calorias, str(puntos))
def comer_banana(Pingu, banana): banana.eliminar() puntos.escala = 0 puntos.escala = pilas.interpolar(1, duracion=0.5, tipo='rebote_final') puntos.aumentar(1) Pingu.sonreir() print "Ta con hambre el, eh?"
def testInterpolation(self): a = pilas.interpolar([0, 100]) self.assertEqual(a.values, [0, 100]) # Invierte la interpolacion. a = -a self.assertEqual(a.values, [100, 0])
def test_interpolacion(): pilas.iniciar() a = pilas.interpolar([0, 100]) assert a.values == [0, 100] # Invierte la interpolacion. a = -a assert a.values == [100, 0]
def pasar_por_banana(mono, banana): banana.eliminar() self.TotalBananas = self.TotalBananas + 1 if (self.TotalBananas == 5): self.TotalBananas = 0 self.vidas = self.vidas + 1 puntos.escala = 0 puntos.escala = pilas.interpolar(1, duracion=1.5, tipo='rebote_final') puntos.aumentar(1) # Aumenta una vida en el contador de puntos
def zombie_destruido(disparo,enemigo): #eliminar el mono alcanzado enemigo.eliminar() disparo.eliminar() #actualizar marcador con un efecto puntos.escala=0 puntos.escala=pilas.interpolar(1,duracion=0.5,tipo="rebote_final") puntos.aumentar(1)
def iniciar(self): p = pilas.actores.Sonido() self.chapa = pilas.actores.Actor(imagen='imag/escmenu/Inicio-4.png', x=-1500, y=0) self.chapa.escala = 1 self.fondo = pilas.fondos.Fondo("./imag/Interfaz/fondo.png") self.chapa.x = pilas.interpolar(0, tipo='rebote_final', demora=1, duracion=2) self.bot = 1 self.tarea = pilas.mundo.agregar_tarea(0.1, self.condicion)
def comer_banana(Pingu, banana): banana.eliminar() puntos.escala = 0 puntos.escala = pilas.interpolar(1, duracion=0.5, tipo='rebote_final') puntos.aumentar(1) Pingu.sonreir() a=puntos.obtener() if a == 20 or a==40 or a==60 or a==80 or a==100 or a==120 or a==140 or a==160 or a==180 or a==200 or a==220 or a==240 or a==260 or a==280 or a==300: vida.aumentar(1) pilas.avisar("Conseguiste 1 Vida. Ahora tenes %d vidas" %(vida.obtener())) print "Ganaste plata"
def crear_enemigo(): enemigo = pilas.actores.Mono() x = random.randrange(-320, 320) y = random.randrange(-240, 240) # Hace que la aceituna aparezca gradualmente, aumentando de tamaño. enemigo.escala = 0 enemigo.escala = pilas.interpolar(0.5, duracion=0.5, tipo='rebote_final') enemigo.aprender(pilas.habilidades.PuedeExplotar) if x >= 0 and x <= 100: x = 180 elif x <= 0 and x >= -100: x = -180 if y >= 0 and y <= 100: y = 180 elif y <= 0 and y >= -100: y = -180 enemigo.x = x enemigo.y = y enemigos.append(enemigo) tipo_interpolacion = ['lineal', 'aceleracion_gradual', 'desaceleracion_gradual', 'rebote_inicial', 'rebote_final'] enemigo.x = pilas.interpolar(0, tiempo, tipo=random.choice(tipo_interpolacion)) enemigo.y = pilas.interpolar(0, tiempo, tipo=random.choice(tipo_interpolacion)) if fin_de_juego: return False else: return True
def pasar_por_bomba(mono, bomba): perdio_vida() bomba.explotar() puntos.escala = 0 puntos.escala = pilas.interpolar(1, duracion=0.5, tipo='rebote_final') puntos.aumentar(-1) # Disminuye una vida en el contador de puntos if (self.vidas == 0): for bomba in bombas: bomba.eliminar() for banana in bananas: banana.eliminar() pilas.escena_actual().tareas.eliminar_todas() mensaje = pilas.actores.Texto("Pitbull murio, perdiste...") pilas.avisar("Para regresar al menu presione la tecla 'Esc'")
def pasar_por_bomba(protagonista, bomba): protagonista.perder_vida() bomba.explotar() puntos.escala = 0 puntos.escala = pilas.interpolar(1, duracion=0.5, tipo='rebote_final') puntos.aumentar(-1) # Disminuye el contador de puntos if (protagonista.vidas == 0): for bomba in bombas: bomba.eliminar() protagonista.perder("Game Over") # Perdio las 3 vidas objetivo.eliminar() else: protagonista.accion() # Cuando tenga alguna de las 3 vidas bombas.append(BombaConMovimiento()) bombas.append(BombaConOtroMovimiento())
def iniciar(self): self.fondo = pilas.fondos.Fondo(self.imag_fondo) self.imagen_consola_usuarios = pilas.actores.Actor(self.imag_consola_usuario, x=-800, y=50) self.imag_barra = pilas.actores.Actor(self.imag_animacion, x=-800, y=360) imag_info = pilas.imagenes.cargar_grilla(self.imag_info, 18) self.imag_info = pilas.actores.Animacion(imag_info, x=1300, y=1000, ciclica=True, velocidad=10) self.imag_info.cuando_hace_click=self.informacion self.imag_info.y=pilas.interpolar(-600,duracion=2,demora=1,tipo='rebote_final') self.imag_info.escala=2 self.imag_info.escala=[1],3 # Imagen que pide que escribsa tu nombre si no lo has hecho self.ima_escribi_nombre = pilas.actores.Actor(self.imag_ingrese_nombre, x=0, y=0) self.ima_escribi_nombre.transparencia = 100 self.ima_escribi_nombre.z=-5 self.m = pilas.actores.Texto(texto='Nuevo Jugador', x=-1080, y=560, magnitud=70, fuente='./escenas/interfazusuario/AGENCYB.TTF') self.m = pilas.actores.Texto(texto='Jugadores:', x=-1145, y=300, magnitud=70, fuente='./escenas/interfazusuario/AGENCYB.TTF') self.box_name = pilas.interfaz.ingreso_de_texto.IngresoDeTexto(ancho=200, x=-900, y=440) self.box_name.solo_letras() self.box_name.imagen_caja = pilas.imagenes.cargar(self.imag_caja) self.box_name.escala = 3 self.box_name.transparencia = 60 self.boton_ok = pilas.actores.boton.Boton(x=-420, y=440, ruta_normal=self.imag_ok_normal, ruta_press=self.imag_ok_press, ruta_over=self.imag_ok_over) self.boton_ok.conectar_presionado(self._ok) self.boton_ok.conectar_sobre(self.boton_ok.pintar_sobre) self.boton_ok.conectar_normal(self.boton_ok.pintar_normal) self.boton_ok.z = -1 lista_judagores = self.datos.getJugadores() lista_judagores.sort() interfaz = escenas.interfaz(lista_judagores) interfaz.comenzar()
def __caer_robot_mapa(self): if self.r.actor.x == self.posicion_jugador_ant.x and self.r.actor.y == self.posicion_jugador_ant.y: # espero a q termine la ultima interpolacion if self.r.actor.x > 0 and self.r.actor.y > 0: print self.r.actor.x, self.r.actor.y self.r.actor.x = pilas.interpolar(self.r.actor.x + 200, tipo='lineal', duracion=2) self.r.actor.y = pilas.interpolar(self.r.actor.y + 200, tipo='lineal', duracion=2) if self.r.actor.x < 0 and self.r.actor.y > 0: print self.r.actor.x, self.r.actor.y self.r.actor.x = pilas.interpolar(self.r.actor.x - 200, tipo='lineal', duracion=2) self.r.actor.y = pilas.interpolar(self.r.actor.y + 200, tipo='lineal', duracion=2) if self.r.actor.x > 0 and self.r.actor.y < 0: print self.r.actor.x, self.r.actor.y self.r.actor.x = pilas.interpolar(self.r.actor.x + 200, tipo='lineal', duracion=2) self.r.actor.y = pilas.interpolar(self.r.actor.y - 200, tipo='lineal', duracion=2) if self.r.actor.x < 0 and self.r.actor.y < 0: print self.r.actor.x, self.r.actor.y self.r.actor.x = pilas.interpolar(self.r.actor.x - 200, tipo='lineal', duracion=2) self.r.actor.y = pilas.interpolar(self.r.actor.y - 200, tipo='lineal', duracion=2)
def comer_comida(oso, elemento): #sonido # Si el elemento tiene un sonido único, elemento.sonido será una cadena. Sino, será una lista de la cual elijo un elemento al azar. if type(elemento.sonido) == str: sonido = pilas.sonidos.cargar(elemento.sonido) else: sonido = pilas.sonidos.cargar( random.choice(elemento.sonido)) sonido.reproducir() elemento.eliminar() chat(random.choice(elemento.decirAlUsar), 4) masticando = pilas.imagenes.cargar_grilla( "pics/rostros/masticando.png", 10) rostro.transparencia = 100 boca = pilas.actores.Animacion(masticando, False, x=45, y=94) boca.z = 1 rostro.transparencia = pilas.interpolar(0, 0.01, demora=0.92) barra_comida.progreso = [ barra_comida.progreso + elemento.calorias ] barra_salud.progreso = [ barra_salud.progreso - elemento.loqueensucia ] global puntos puntos += 10 texto_puntos.texto = str(puntos) #actualizo los valores en disco actualizarValores(barra_alegria.progreso, barra_salud.progreso - elemento.loqueensucia, barra_comida.progreso + elemento.calorias, str(puntos))
def __init__(self): self.config = data.Configuracion() self.robot_animacion = False self.robot = robotlib.Mover_Robot() # actor que es el led de abajo! self.placalcd = 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 = 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 = 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 = pilas.imagenes.cargar('imag/Interfaz/engra1.png') self.engranaje_1 = pilas.actores.Mono() self.engranaje_1.set_imagen(imag_engranaje) self.engranaje_1.x = 1670 self.engranaje_1.y = -468 imag_tele = pilas.imagenes.cargar_grilla('imag/Interfaz/tvmenor.png', 2) imag_tele.escala = 0.2 self.tele = pilas.actores.Animacion(imag_tele, x=1820, y=180, ciclica=True, velocidad=50) # Joystick self.joystick = pilas.actores.Actor(imagen='imag/comando/Controles/jostick.png', x=949, y=-1085) # BOTON RUN self.boton_run = pilas.actores.boton.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 = pilas.actores.boton.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 = 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 = pilas.mundo.agregar_tarea(0.01, self.girar_engranaje) self.tarea_stop_engranaje = pilas.mundo.agregar_tarea(1.6, self.stop_engranaje) self.botones = botones.botones() if self.config.graficos == True and self.config.lvlup==False: self.placalcd.y = pilas.interpolar(-390, tipo='lineal', demora=1, duracion=4) self.imag_engr_izq.x = pilas.interpolar(self.fin_x_chapa, tipo='lineal', demora=1, duracion=2) self.imag_engr_der.x = pilas.interpolar(self.fin_x_chapa_dercha, tipo='lineal', demora=1, duracion=2) self.engranaje_1.x = pilas.interpolar(775, tipo='lineal', demora=1, duracion=2) self.tele.x = pilas.interpolar(1100, tipo='lineal', demora=4, duracion=2) self.joystick.y = pilas.interpolar(-485, tipo='lineal', demora=4, duracion=2) self.boton_run.y = pilas.interpolar(-485, tipo='lineal', demora=4, duracion=2) self.boton_robot.y = pilas.interpolar(-485, tipo='lineal', demora=4, duracion=2) self.imag_grilla.y = pilas.interpolar(110, tipo='elastico_final', demora=3, duracion=4) # TAREA QUE HABILITA LOS BOTONES DE LOS NUMEROS Y COMANDOS self.tarea_habilitar_botones = pilas.mundo.agregar_tarea(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 = pilas.mundo.agregar_tarea(2, self.habilitar_botones)
def iniciar(self): self.fondo = pilas.fondos.Fondo(self.imag_fondo) self.imagen_consola_usuarios = pilas.actores.Actor( self.imag_consola_usuario, x=-800, y=50) self.imag_barra = pilas.actores.Actor(self.imag_animacion, x=-800, y=360) imag_info = pilas.imagenes.cargar_grilla(self.imag_info, 18) self.imag_info = pilas.actores.Animacion(imag_info, x=1300, y=1000, ciclica=True, velocidad=10) self.imag_info.cuando_hace_click = self.informacion self.imag_info.y = pilas.interpolar(-600, duracion=2, demora=1, tipo='rebote_final') self.imag_info.escala = 2 self.imag_info.escala = [1], 3 # Imagen que pide que escribsa tu nombre si no lo has hecho self.ima_escribi_nombre = pilas.actores.Actor(self.imag_ingrese_nombre, x=0, y=0) self.ima_escribi_nombre.transparencia = 100 self.ima_escribi_nombre.z = -5 self.m = pilas.actores.Texto( texto='Nuevo Jugador', x=-1080, y=560, magnitud=70, fuente='./escenas/interfazusuario/AGENCYB.TTF') self.m = pilas.actores.Texto( texto='Jugadores:', x=-1145, y=300, magnitud=70, fuente='./escenas/interfazusuario/AGENCYB.TTF') self.box_name = pilas.interfaz.ingreso_de_texto.IngresoDeTexto( ancho=200, x=-900, y=440) self.box_name.solo_letras() self.box_name.imagen_caja = pilas.imagenes.cargar(self.imag_caja) self.box_name.escala = 3 self.box_name.transparencia = 60 self.boton_ok = pilas.actores.boton.Boton( x=-420, y=440, ruta_normal=self.imag_ok_normal, ruta_press=self.imag_ok_press, ruta_over=self.imag_ok_over) self.boton_ok.conectar_presionado(self._ok) self.boton_ok.conectar_sobre(self.boton_ok.pintar_sobre) self.boton_ok.conectar_normal(self.boton_ok.pintar_normal) self.boton_ok.z = -1 lista_judagores = self.datos.getJugadores() lista_judagores.sort() interfaz = escenas.interfaz(lista_judagores) interfaz.comenzar()
def __init__(self): 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.boton_1 = pilas.actores.boton.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(pilas.habilidades.Arrastrable) self.boton_2 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 = pilas.actores.boton.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 == True and self.config.lvlup == False: ## 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.boton_1.x = pilas.interpolar(self.posiciones.get_valor(0, 0)[0], tipo='lineal', demora=1, duracion=2) self.boton_1.y = pilas.interpolar(self.posiciones.get_valor(0, 0)[1], tipo='lineal', demora=1, duracion=2) self.boton_2.x = pilas.interpolar(self.posiciones.get_valor(0, 1)[0], tipo='lineal', demora=1, duracion=2) self.boton_2.y = pilas.interpolar(self.posiciones.get_valor(0, 1)[1], tipo='lineal', demora=1, duracion=2) self.boton_3.x = pilas.interpolar(self.posiciones.get_valor(0, 2)[0], tipo='lineal', demora=1, duracion=2) self.boton_3.y = pilas.interpolar(self.posiciones.get_valor(0, 2)[1], tipo='lineal', demora=1, duracion=2) self.boton_4.x = pilas.interpolar(self.posiciones.get_valor(1, 0)[0], tipo='lineal', demora=1, duracion=2) self.boton_4.y = pilas.interpolar(self.posiciones.get_valor(1, 0)[1], tipo='lineal', demora=1, duracion=2) self.boton_5.x = pilas.interpolar(self.posiciones.get_valor(1, 1)[0], tipo='lineal', demora=1, duracion=2) self.boton_5.y = pilas.interpolar(self.posiciones.get_valor(1, 1)[1], tipo='lineal', demora=1, duracion=2) self.boton_6.x = pilas.interpolar(self.posiciones.get_valor(1, 2)[0], tipo='lineal', demora=1, duracion=2) self.boton_6.y = pilas.interpolar(self.posiciones.get_valor(1, 2)[1], tipo='lineal', demora=1, duracion=2) self.boton_7.x = pilas.interpolar(self.posiciones.get_valor(2, 0)[0], tipo='lineal', demora=1, duracion=2) self.boton_7.y = pilas.interpolar(self.posiciones.get_valor(2, 0)[1], tipo='lineal', demora=1, duracion=2) self.boton_8.x = pilas.interpolar(self.posiciones.get_valor(2, 1)[0], tipo='lineal', demora=1, duracion=2) self.boton_8.y = pilas.interpolar(self.posiciones.get_valor(2, 1)[1], tipo='lineal', demora=1, duracion=2) self.boton_9.x = pilas.interpolar(self.posiciones.get_valor(2, 2)[0], tipo='lineal', demora=1, duracion=2) self.boton_9.y = pilas.interpolar(self.posiciones.get_valor(2, 0)[1], tipo='lineal', demora=1, duracion=2) self.boton_up.x = pilas.interpolar( self.posiciones_flechas.get_valor(0, 1)[0], tipo='lineal', demora=1, duracion=2) self.boton_up.y = pilas.interpolar( self.posiciones_flechas.get_valor(0, 1)[1], tipo='lineal', demora=1, duracion=2) self.boton_down.x = pilas.interpolar( self.posiciones_flechas.get_valor(2, 1)[0], tipo='lineal', demora=1, duracion=2) self.boton_down.y = pilas.interpolar( self.posiciones_flechas.get_valor(2, 1)[1], tipo='lineal', demora=1, duracion=2) self.boton_left.x = pilas.interpolar( self.posiciones_flechas.get_valor(1, 0)[0], tipo='lineal', demora=1, duracion=2) self.boton_left.y = pilas.interpolar( self.posiciones_flechas.get_valor(1, 0)[1], tipo='lineal', demora=1, duracion=2) self.boton_right.x = pilas.interpolar( self.posiciones_flechas.get_valor(1, 2)[0], tipo='lineal', demora=1, duracion=2) self.boton_right.y = pilas.interpolar( self.posiciones_flechas.get_valor(1, 2)[1], tipo='lineal', demora=1, 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]
def cuando_click(evento): global seleccion if evento.boton == 1: print seleccion actor.y = pilas.interpolar(evento.y,tipo=seleccion) actor.x = pilas.interpolar(evento.x,tipo=seleccion)
def iniciar(self): #Cargo los datos guardados en disco para sincronizar los valores. alegria, salud, comida, puntos = leerValores() # HORARIO """ chequeo qué hora es para poner al oso gordo a dormir o no """ ahora = datetime.datetime.now() # Creo el fondo fondo = pilas.imagenes.cargar('pics/fondo_biblioteca.png') actorFondo = pilas.actores.Actor(fondo) actorFondo.z = 1000 #HUE texto_personalizado = pilas.actores.Texto("Oso Gordo", magnitud=60, fuente="fuentes/fuente.ttf", y=250, x=-320) titulo_puntos = pilas.actores.Texto("puntos", magnitud=20, fuente="fuentes/fuente.ttf", y=280, x=470) texto_puntos = pilas.actores.Texto(str(puntos), magnitud=40, fuente="fuentes/fuente.ttf", y=240, x=440) #Barras barra_alegria = pilas.actores.Energia( progreso=int(alegria), color_relleno=pilas.colores.Color(56, 255, 75), ancho=160, alto=25, con_sombra=False, con_brillo=False) barra_alegria.rotacion = -90 barra_alegria.x = 480 barra_alegria.y = 98 barra_salud = pilas.actores.Energia(progreso=int(salud), color_relleno=pilas.colores.Color( 56, 255, 75), ancho=160, alto=25, con_sombra=False, con_brillo=False) barra_salud.rotacion = -90 barra_salud.x = 450 barra_salud.y = 98 barra_comida = pilas.actores.Energia(progreso=int(comida), color_relleno=pilas.colores.Color( 56, 255, 75), ancho=160, alto=25, con_sombra=False, con_brillo=False) barra_comida.rotacion = -90 barra_comida.x = 420 barra_comida.y = 98 icono_comida = pilas.actores.Actor( pilas.imagenes.cargar("pics/jamon.png"), x=418, y=0) icono_comida.escala = pilas.interpolar([1, 1.5, 1, 1.2, 1], 1, demora=1.5) icono_alegria = pilas.actores.Actor( pilas.imagenes.cargar("pics/alegria.png"), x=482, y=0) icono_alegria.escala = pilas.interpolar([1, 1.5, 1, 1.2, 1], 1, demora=1) icono_limpieza = pilas.actores.Actor( pilas.imagenes.cargar("pics/limpieza.png"), x=450, y=0) icono_limpieza.escala = pilas.interpolar([1, 1.5, 1, 1.2, 1], 1, demora=2) #cartel habitacion img_cartel = pilas.imagenes.cargar('pics/cartel_biblioteca.png') cartel = pilas.actores.Actor(img_cartel, x=360, y=-244) #cambiar de habitacion botonIzq = pilas.actores.Boton(ruta_normal='pics/cursorIzq.png', ruta_over='pics/cursorIzq_over.png', x=250, y=-244) def cuando_pulsan_el_boton(): from OsoGordo import EscenaDespensa pilas.cambiar_escena(EscenaDespensa()) def cuando_pasa_sobre_el_boton(): botonIzq.pintar_sobre() def cuando_deja_de_pulsar(): botonIzq.pintar_normal() """botonDer = pilas.actores.Boton(ruta_normal = 'pics/cursorDer.png', ruta_over = 'pics/cursorDer_over.png', x=470, y=-244) def cuando_pulsan_el_boton_der(): pilas.cambiar_escena(EscenaBanio()) def cuando_pasa_sobre_el_boton_der(): botonDer.pintar_sobre() def cuando_deja_de_pulsar_der(): botonDer.pintar_normal()""" # EL OSO if (ahora.hour >= 14 and ahora.hour < 16) or (ahora.hour >= 3 and ahora.hour < 9): """ Si son entre las 2 de la tarde y las 4, el oso duerme la siesta. A las doce de la noche se duerme hasta las 9 de la mañana.""" else: imagenOso = pilas.imagenes.cargar("pics/osoGordo_original.png") oso = pilas.actores.Actor(imagenOso, x=20, y=360) oso.radio_de_colision = 100 oso.centro = (530, 290) oso.z = 1 oso.y = [35], 0.5 oso.y = 35 img_rostro = pilas.imagenes.cargar("pics/rostros/gran_sonrisa.png") rostro = pilas.actores.Actor(img_rostro, x=20, y=500) rostro.y = [78], 0.5 rostro.y = 78 #el fondo se sacude al caer actorFondo.x = pilas.interpolar([10, -10, 5, 0], 0.2, demora=0.5) actorFondo.y = pilas.interpolar([30, -40, 20, 0], 0.2, demora=0.5) oso.y = pilas.interpolar([45, 35], 0.15, demora=0.5) rostro.y = pilas.interpolar([100, 78], 0.15, demora=0.5) # Creamos los elementos img_disquettes = pilas.imagenes.cargar("pics/disquettes.png") disquettes = pilas.actores.Actor(img_disquettes, x=-450, y=-235) disquettes.aprender(pilas.habilidades.Arrastrable) disquettes.sonido = 'sonidos/larry.ogg' disquettes.alegria = 9 disquettes.decirAlUsar = [ 'Mi primera PC fue una 386 con dos megabytes de RAM.', u'¿jugaste alguna vez a "The Secret of Monkey Island" ?', u'¿No sabés dónde está Carmen San Diego?' ] img_joystick = pilas.imagenes.cargar("pics/atari2600.png") joystick = pilas.actores.Actor(img_joystick, x=-350, y=-235) joystick.aprender(pilas.habilidades.Arrastrable) joystick.sonido = 'sonidos/atari.ogg' joystick.alegria = 10 joystick.decirAlUsar = [u'¿Cómo saco al ET del pozo?'] img_commodore = pilas.imagenes.cargar("pics/commodore.png") commodore = pilas.actores.Actor(img_commodore, x=-250, y=-235) commodore.aprender(pilas.habilidades.Arrastrable) commodore.sonido = [ 'sonidos/commodore_01.ogg', 'sonidos/commodore_02.ogg', 'sonidos/commodore_03.ogg' ] commodore.alegria = 14 commodore.decirAlUsar = [ 'LOAD "*",8', 'POKE 53280,1', 'READY.', u'Cuando sea grande quiero ser como Zak Mckracken.' ] img_cd = pilas.imagenes.cargar("pics/CD.png") cd = pilas.actores.Actor(img_cd, x=-150, y=-235) cd.aprender(pilas.habilidades.Arrastrable) cd.sonido = 'sonidos/libro.ogg' cd.alegria = 7 cd.decirAlUsar = [ u'Llegando los monos - SUMO', u'El león - Los fabulosos Cadillacs', u'El Amor Después Del Amor - Fito Páez', u'Piano Bar - Charly García', u'Pappo\'s Blues Volumen 2 - Pappo\'s Blues', u'Alta Suciedad - Andrés Calamaro', u'Canción Animal - Soda Stereo', u'La Era De La Boludez - Divididos', u'Oktubre - Patricio Rey y Sus Redonditos de Ricota', u'Artaud - Pescado Rabioso', u'Despedazado por mil partes - La Renga', u'Tercer Arco - Los Piojos', u'Angeles Caidos - Attaque 77', u'Hermética - Ácido Argentino', u'El Exceso - Flema', u'Valentín Alsina - Dos Minutos', u'Ahí Vamos - Gustavo Cerati', u'La Mosca y la Sopa - Patricio Rey y Sus Redonditos de Ricota' ] img_libro = pilas.imagenes.cargar("pics/libro.png") libro = pilas.actores.Actor(img_libro, x=-50, y=-235) libro.aprender(pilas.habilidades.Arrastrable) libro.sonido = 'sonidos/libro.ogg' libro.alegria = 9 libro.decirAlUsar = [ u'Obras Completas - Edgar Allan Poe', 'Obras Completas - Oscar Wilde', u'Sobre héroes y tumbas - Ernesto Sabato', 'Odisea - Homero', 'El Hobbit - J.R.Tolkien', 'Viaje al centro de la tierra - Julio Verne', u'Parque Jurásico - Michael Crichton', 'El viejo y el mar - Ernest Hemingway', u'El túnel - Ernesto Sabato', u'El señor de los anillos - J.R.Tolkien', u'Rayuela - Julio Cortazar', u'Don Quijote de la Mancha - Miguel de Cervantes', u'Poema de Gilgamesh - Anónimo', u'Las mil y una noches - Anónimo', u'Crimen y castigo - Fiódor Dostoievski', u'Cien años de soledad - Gabriel García Márquez', u'El castillo - Franz Kafka', u'1984 - George Orwell', u'El tambor de hojalata - Gunter Grass', u'El Aleph - Jorge Luis Borges' ] elementos = [disquettes, joystick, commodore, cd, libro] def divertir(oso, elemento): #sonido # Si el elemento tiene un sonido único, elemento.sonido será una cadena. Sino, será una lista de la cual elijo un elemento al azar. if type(elemento.sonido) == str: sonido = pilas.sonidos.cargar(elemento.sonido) else: sonido = pilas.sonidos.cargar( random.choice(elemento.sonido)) sonido.reproducir() elemento.eliminar() barra_alegria.progreso = [ barra_alegria.progreso + elemento.alegria ] barra_comida.progreso = [barra_comida.progreso - 6] chat(random.choice(elemento.decirAlUsar), 4) #Actualizo el puntaje global puntos puntos += 10 texto_puntos.texto = str(puntos) #actualizo los datos en disco actualizarValores(barra_alegria.progreso + elemento.alegria, barra_salud.progreso, barra_comida.progreso - 6, puntos) pilas.mundo.colisiones.agregar(oso, elementos, divertir) #Control de habitaciones botonIzq.conectar_presionado(cuando_pulsan_el_boton) botonIzq.conectar_sobre(cuando_pasa_sobre_el_boton) botonIzq.conectar_normal(cuando_deja_de_pulsar) """botonDer.conectar_presionado(cuando_pulsan_el_boton_der)
def iniciar(self): #Cargo los datos guardados en disco para sincronizar los valores. alegria, salud, comida, puntos = leerValores() # HORARIO """ chequeo qué hora es para poner al oso gordo a dormir o no """ ahora = datetime.datetime.now() """for attr in [ 'year', 'month', 'day', 'hour', 'minute', 'second', 'microsecond']: print attr, ':', getattr(d, attr)""" # Creo el fondo fondo = pilas.imagenes.cargar('pics/fondo.png') actorFondo = pilas.actores.Actor(fondo) actorFondo.z = 1000 #HUE texto_personalizado = pilas.actores.Texto("Oso Gordo", magnitud=60, fuente="fuentes/fuente.ttf", y=250, x=-320) titulo_puntos = pilas.actores.Texto("puntos", magnitud=20, fuente="fuentes/fuente.ttf", y=280, x=470) texto_puntos = pilas.actores.Texto(str(puntos), magnitud=40, fuente="fuentes/fuente.ttf", y=240, x=440) #Barras print type(alegria) barra_alegria = pilas.actores.Energia(progreso = int(alegria), color_relleno = pilas.colores.Color(56,255,75), ancho=160, alto=25, con_sombra = False, con_brillo = False) barra_alegria.rotacion = -90 barra_alegria.x = 480 barra_alegria.y = 98 barra_salud = pilas.actores.Energia(progreso = int(salud), color_relleno = pilas.colores.Color(56,255,75), ancho=160, alto=25, con_sombra = False, con_brillo = False) barra_salud.rotacion = -90 barra_salud.x = 450 barra_salud.y = 98 barra_comida = pilas.actores.Energia(progreso = int(comida), color_relleno = pilas.colores.Color(56,255,75), ancho=160, alto=25, con_sombra = False, con_brillo = False) barra_comida.rotacion = -90 barra_comida.x = 420 barra_comida.y = 98 icono_comida = pilas.actores.Actor(pilas.imagenes.cargar("pics/jamon.png"), x=418, y=0) icono_comida.escala = pilas.interpolar([1, 1.5, 1,1.2,1], 1, demora = 1.5) icono_alegria = pilas.actores.Actor(pilas.imagenes.cargar("pics/alegria.png"), x=482, y=0) icono_alegria.escala = pilas.interpolar([1, 1.5, 1,1.2,1], 1, demora = 1) icono_limpieza = pilas.actores.Actor(pilas.imagenes.cargar("pics/limpieza.png"), x=450, y=0) icono_limpieza.escala = pilas.interpolar([1, 1.5, 1,1.2,1], 1, demora = 2) #cartel habitacion img_cartel = pilas.imagenes.cargar('pics/cartel_despensa.png') cartel = pilas.actores.Actor(img_cartel, x=360, y=-244) #cambiar de habitacion botonIzq = pilas.actores.Boton(ruta_normal = 'pics/cursorIzq.png', ruta_over = 'pics/cursorIzq_over.png', x= 250, y=-244) def cuando_pulsan_el_boton(): pilas.cambiar_escena(EscenaBanio()) def cuando_pasa_sobre_el_boton(): botonIzq.pintar_sobre() def cuando_deja_de_pulsar(): botonIzq.pintar_normal() botonDer = pilas.actores.Boton(ruta_normal = 'pics/cursorDer.png', ruta_over = 'pics/cursorDer_over.png', x= 470, y=-244) def cuando_pulsan_el_boton_der(): pilas.cambiar_escena(EscenaBiblioteca()) def cuando_pasa_sobre_el_boton_der(): botonDer.pintar_sobre() def cuando_deja_de_pulsar_der(): botonDer.pintar_normal() # EL OSO if (ahora.hour >= 15 and ahora.hour < 19) or (ahora.hour >= 1 and ahora.hour < 9): """ Si son entre las 2 de la tarde y las 4, el oso duerme la siesta. A las doce de la noche se duerme hasta las 9 de la mañana.""" grilla = pilas.imagenes.cargar_grilla("pics/durmiendo/durmiendo.png", 2) oso = pilas.actores.Animacion(grilla, True, velocidad = 0.65) snd_ronquidos = pilas.sonidos.cargar("sonidos/ronquidos2.ogg") snd_ronquidos.reproducir(repetir=True) else: imagenOso = pilas.imagenes.cargar("pics/osoGordo_original.png") oso = pilas.actores.Actor(imagenOso, x=20, y=360) oso.radio_de_colision = 100 oso.centro = (530,290) oso.z = 1 oso.y = [35],0.5 oso.y = 35 img_rostro = pilas.imagenes.cargar("pics/rostros/gran_sonrisa.png") rostro = pilas.actores.Actor(img_rostro, x=20, y=500) rostro.y = [78],0.5 rostro.y = 78 #el fondo se sacude al caer actorFondo.x = pilas.interpolar([10, -10, 5, 0], 0.2, demora = 0.5) actorFondo.y = pilas.interpolar([30, -40, 20, 0], 0.2, demora = 0.5) oso.y = pilas.interpolar([45,35], 0.15, demora = 0.5) rostro.y = pilas.interpolar([100,78], 0.15, demora = 0.5) # Creamos las bananas img_banana = pilas.imagenes.cargar("pics/banana.png") banana = pilas.actores.Actor(img_banana, x = -450, y = -245) banana.aprender(pilas.habilidades.Arrastrable) banana.sonido = ['sonidos/mordisco_01.ogg', 'sonidos/mordisco_02.ogg', 'sonidos/mordisco_03.ogg'] banana.calorias = 15 banana.loqueensucia = 10 banana.decirAlUsar = [u'mmmm con dulce de leche quedaría muy bien',u'¡falta la crema!', 'Banana nou ten carozo.'] # Creamos la zanahoria img_zanahoria = pilas.imagenes.cargar("pics/zanahoria.png") zanahoria = pilas.actores.Actor(img_zanahoria, x = -350, y = -245) zanahoria.aprender(pilas.habilidades.Arrastrable) zanahoria.sonido = ['sonidos/mordisco_01.ogg', 'sonidos/mordisco_02.ogg', 'sonidos/mordisco_03.ogg'] zanahoria.calorias = 13 zanahoria.loqueensucia = 7 zanahoria.decirAlUsar = [u'Muy rica la ensalada.. ¿y el bife cuándo llega?', u'La zanahoria hace bien a la vista. Los choripanes también.'] # Creamos la hamburguesa img_hamburguesa = pilas.imagenes.cargar("pics/hamburguesa.png") hamburguesa = pilas.actores.Actor(img_hamburguesa, x = -250, y = -245) hamburguesa.aprender(pilas.habilidades.Arrastrable) hamburguesa.sonido = ['sonidos/mordisco_01.ogg', 'sonidos/mordisco_02.ogg', 'sonidos/mordisco_03.ogg'] hamburguesa.calorias = 45 hamburguesa.loqueensucia = 12 hamburguesa.decirAlUsar = [u'Tremenda Cangreburguer', u'¿Tiene morrón?', u'mmmmm ¡con mayonesa!', 'Con la comida no se jode, eh.', 'Hola, vine a comer comida.', u'mmmm y después chimichanga.'] # Creamos el helado img_helado = pilas.imagenes.cargar("pics/helado.png") helado = pilas.actores.Actor(img_helado, x = -150, y = -245) helado.aprender(pilas.habilidades.Arrastrable) helado.sonido = ['sonidos/mordisco_01.ogg', 'sonidos/mordisco_02.ogg', 'sonidos/mordisco_03.ogg'] helado.calorias = 30 helado.loqueensucia = 20 helado.decirAlUsar = [u'Lo quiero todo de limón.', u'Super dulce de leche bañado en dulce de leche, por favor...', u'La crema del cielo es crema americana con colorante.', u'Jamás subestimes un gusto, yo pido Vainilla.', u'¿Frutos del bosque? demasiado femenino para mi.', u'Me comí el vacito. Era de telgopor.', u'El helado no lo comparto.'] elementos = [banana, zanahoria, hamburguesa, helado] def comer_comida(oso, elemento): #sonido # Si el elemento tiene un sonido único, elemento.sonido será una cadena. Sino, será una lista de la cual elijo un elemento al azar. if type(elemento.sonido) == str: sonido = pilas.sonidos.cargar(elemento.sonido) else: sonido = pilas.sonidos.cargar(random.choice(elemento.sonido)) sonido.reproducir() elemento.eliminar() chat(random.choice(elemento.decirAlUsar), 4) masticando = pilas.imagenes.cargar_grilla("pics/rostros/masticando.png", 10) rostro.transparencia = 100 boca = pilas.actores.Animacion(masticando, False, x = 45, y = 94) boca.z = 1 rostro.transparencia = pilas.interpolar(0, 0.01, demora = 0.92) barra_comida.progreso = [barra_comida.progreso + elemento.calorias] barra_salud.progreso = [barra_salud.progreso - elemento.loqueensucia] global puntos puntos += 10 texto_puntos.texto = str(puntos) #actualizo los valores en disco actualizarValores(barra_alegria.progreso, barra_salud.progreso - elemento.loqueensucia, barra_comida.progreso + elemento.calorias, str(puntos)) pilas.mundo.colisiones.agregar(oso, elementos, comer_comida) #Control de habitaciones botonIzq.conectar_presionado(cuando_pulsan_el_boton) botonIzq.conectar_sobre(cuando_pasa_sobre_el_boton) botonIzq.conectar_normal(cuando_deja_de_pulsar) botonDer.conectar_presionado(cuando_pulsan_el_boton_der) botonDer.conectar_sobre(cuando_pasa_sobre_el_boton_der) botonDer.conectar_normal(cuando_deja_de_pulsar_der)
def iniciar(self): #Cargo los datos guardados en disco para sincronizar los valores. alegria, salud, comida, puntos = leerValores() # HORARIO """ chequeo qué hora es para poner al oso gordo a dormir o no """ ahora = datetime.datetime.now() """for attr in [ 'year', 'month', 'day', 'hour', 'minute', 'second', 'microsecond']: print attr, ':', getattr(d, attr)""" # Creo el fondo fondo = pilas.imagenes.cargar('pics/fondo.png') actorFondo = pilas.actores.Actor(fondo) actorFondo.z = 1000 #HUE texto_personalizado = pilas.actores.Texto("Oso Gordo", magnitud=60, fuente="fuentes/fuente.ttf", y=250, x=-320) titulo_puntos = pilas.actores.Texto("puntos", magnitud=20, fuente="fuentes/fuente.ttf", y=280, x=470) texto_puntos = pilas.actores.Texto(str(puntos), magnitud=40, fuente="fuentes/fuente.ttf", y=240, x=440) #Barras print type(alegria) barra_alegria = pilas.actores.Energia( progreso=int(alegria), color_relleno=pilas.colores.Color(56, 255, 75), ancho=160, alto=25, con_sombra=False, con_brillo=False) barra_alegria.rotacion = -90 barra_alegria.x = 480 barra_alegria.y = 98 barra_salud = pilas.actores.Energia(progreso=int(salud), color_relleno=pilas.colores.Color( 56, 255, 75), ancho=160, alto=25, con_sombra=False, con_brillo=False) barra_salud.rotacion = -90 barra_salud.x = 450 barra_salud.y = 98 barra_comida = pilas.actores.Energia(progreso=int(comida), color_relleno=pilas.colores.Color( 56, 255, 75), ancho=160, alto=25, con_sombra=False, con_brillo=False) barra_comida.rotacion = -90 barra_comida.x = 420 barra_comida.y = 98 icono_comida = pilas.actores.Actor( pilas.imagenes.cargar("pics/jamon.png"), x=418, y=0) icono_comida.escala = pilas.interpolar([1, 1.5, 1, 1.2, 1], 1, demora=1.5) icono_alegria = pilas.actores.Actor( pilas.imagenes.cargar("pics/alegria.png"), x=482, y=0) icono_alegria.escala = pilas.interpolar([1, 1.5, 1, 1.2, 1], 1, demora=1) icono_limpieza = pilas.actores.Actor( pilas.imagenes.cargar("pics/limpieza.png"), x=450, y=0) icono_limpieza.escala = pilas.interpolar([1, 1.5, 1, 1.2, 1], 1, demora=2) #cartel habitacion img_cartel = pilas.imagenes.cargar('pics/cartel_despensa.png') cartel = pilas.actores.Actor(img_cartel, x=360, y=-244) #cambiar de habitacion botonIzq = pilas.actores.Boton(ruta_normal='pics/cursorIzq.png', ruta_over='pics/cursorIzq_over.png', x=250, y=-244) def cuando_pulsan_el_boton(): pilas.cambiar_escena(EscenaBanio()) def cuando_pasa_sobre_el_boton(): botonIzq.pintar_sobre() def cuando_deja_de_pulsar(): botonIzq.pintar_normal() botonDer = pilas.actores.Boton(ruta_normal='pics/cursorDer.png', ruta_over='pics/cursorDer_over.png', x=470, y=-244) def cuando_pulsan_el_boton_der(): pilas.cambiar_escena(EscenaBiblioteca()) def cuando_pasa_sobre_el_boton_der(): botonDer.pintar_sobre() def cuando_deja_de_pulsar_der(): botonDer.pintar_normal() # EL OSO if (ahora.hour >= 15 and ahora.hour < 19) or (ahora.hour >= 1 and ahora.hour < 9): """ Si son entre las 2 de la tarde y las 4, el oso duerme la siesta. A las doce de la noche se duerme hasta las 9 de la mañana.""" grilla = pilas.imagenes.cargar_grilla( "pics/durmiendo/durmiendo.png", 2) oso = pilas.actores.Animacion(grilla, True, velocidad=0.65) snd_ronquidos = pilas.sonidos.cargar("sonidos/ronquidos2.ogg") snd_ronquidos.reproducir(repetir=True) else: imagenOso = pilas.imagenes.cargar("pics/osoGordo_original.png") oso = pilas.actores.Actor(imagenOso, x=20, y=360) oso.radio_de_colision = 100 oso.centro = (530, 290) oso.z = 1 oso.y = [35], 0.5 oso.y = 35 img_rostro = pilas.imagenes.cargar("pics/rostros/gran_sonrisa.png") rostro = pilas.actores.Actor(img_rostro, x=20, y=500) rostro.y = [78], 0.5 rostro.y = 78 #el fondo se sacude al caer actorFondo.x = pilas.interpolar([10, -10, 5, 0], 0.2, demora=0.5) actorFondo.y = pilas.interpolar([30, -40, 20, 0], 0.2, demora=0.5) oso.y = pilas.interpolar([45, 35], 0.15, demora=0.5) rostro.y = pilas.interpolar([100, 78], 0.15, demora=0.5) # Creamos las bananas img_banana = pilas.imagenes.cargar("pics/banana.png") banana = pilas.actores.Actor(img_banana, x=-450, y=-245) banana.aprender(pilas.habilidades.Arrastrable) banana.sonido = [ 'sonidos/mordisco_01.ogg', 'sonidos/mordisco_02.ogg', 'sonidos/mordisco_03.ogg' ] banana.calorias = 15 banana.loqueensucia = 10 banana.decirAlUsar = [ u'mmmm con dulce de leche quedaría muy bien', u'¡falta la crema!', 'Banana nou ten carozo.' ] # Creamos la zanahoria img_zanahoria = pilas.imagenes.cargar("pics/zanahoria.png") zanahoria = pilas.actores.Actor(img_zanahoria, x=-350, y=-245) zanahoria.aprender(pilas.habilidades.Arrastrable) zanahoria.sonido = [ 'sonidos/mordisco_01.ogg', 'sonidos/mordisco_02.ogg', 'sonidos/mordisco_03.ogg' ] zanahoria.calorias = 13 zanahoria.loqueensucia = 7 zanahoria.decirAlUsar = [ u'Muy rica la ensalada.. ¿y el bife cuándo llega?', u'La zanahoria hace bien a la vista. Los choripanes también.' ] # Creamos la hamburguesa img_hamburguesa = pilas.imagenes.cargar("pics/hamburguesa.png") hamburguesa = pilas.actores.Actor(img_hamburguesa, x=-250, y=-245) hamburguesa.aprender(pilas.habilidades.Arrastrable) hamburguesa.sonido = [ 'sonidos/mordisco_01.ogg', 'sonidos/mordisco_02.ogg', 'sonidos/mordisco_03.ogg' ] hamburguesa.calorias = 45 hamburguesa.loqueensucia = 12 hamburguesa.decirAlUsar = [ u'Tremenda Cangreburguer', u'¿Tiene morrón?', u'mmmmm ¡con mayonesa!', 'Con la comida no se jode, eh.', 'Hola, vine a comer comida.', u'mmmm y después chimichanga.' ] # Creamos el helado img_helado = pilas.imagenes.cargar("pics/helado.png") helado = pilas.actores.Actor(img_helado, x=-150, y=-245) helado.aprender(pilas.habilidades.Arrastrable) helado.sonido = [ 'sonidos/mordisco_01.ogg', 'sonidos/mordisco_02.ogg', 'sonidos/mordisco_03.ogg' ] helado.calorias = 30 helado.loqueensucia = 20 helado.decirAlUsar = [ u'Lo quiero todo de limón.', u'Super dulce de leche bañado en dulce de leche, por favor...', u'La crema del cielo es crema americana con colorante.', u'Jamás subestimes un gusto, yo pido Vainilla.', u'¿Frutos del bosque? demasiado femenino para mi.', u'Me comí el vacito. Era de telgopor.', u'El helado no lo comparto.' ] elementos = [banana, zanahoria, hamburguesa, helado] def comer_comida(oso, elemento): #sonido # Si el elemento tiene un sonido único, elemento.sonido será una cadena. Sino, será una lista de la cual elijo un elemento al azar. if type(elemento.sonido) == str: sonido = pilas.sonidos.cargar(elemento.sonido) else: sonido = pilas.sonidos.cargar( random.choice(elemento.sonido)) sonido.reproducir() elemento.eliminar() chat(random.choice(elemento.decirAlUsar), 4) masticando = pilas.imagenes.cargar_grilla( "pics/rostros/masticando.png", 10) rostro.transparencia = 100 boca = pilas.actores.Animacion(masticando, False, x=45, y=94) boca.z = 1 rostro.transparencia = pilas.interpolar(0, 0.01, demora=0.92) barra_comida.progreso = [ barra_comida.progreso + elemento.calorias ] barra_salud.progreso = [ barra_salud.progreso - elemento.loqueensucia ] global puntos puntos += 10 texto_puntos.texto = str(puntos) #actualizo los valores en disco actualizarValores(barra_alegria.progreso, barra_salud.progreso - elemento.loqueensucia, barra_comida.progreso + elemento.calorias, str(puntos)) pilas.mundo.colisiones.agregar(oso, elementos, comer_comida) #Control de habitaciones botonIzq.conectar_presionado(cuando_pulsan_el_boton) botonIzq.conectar_sobre(cuando_pasa_sobre_el_boton) botonIzq.conectar_normal(cuando_deja_de_pulsar) botonDer.conectar_presionado(cuando_pulsan_el_boton_der) botonDer.conectar_sobre(cuando_pasa_sobre_el_boton_der) botonDer.conectar_normal(cuando_deja_de_pulsar_der)
def __init__(self): self.config = data.Configuracion() self.robot_animacion = False self.robot = robotlib.Mover_Robot() # actor que es el led de abajo! self.placalcd = 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 = 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 = 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 = pilas.imagenes.cargar('imag/Interfaz/engra1.png') self.engranaje_1 = pilas.actores.Mono() self.engranaje_1.set_imagen(imag_engranaje) self.engranaje_1.x = 1670 self.engranaje_1.y = -468 imag_tele = pilas.imagenes.cargar_grilla('imag/Interfaz/tvmenor.png', 2) imag_tele.escala = 0.2 self.tele = pilas.actores.Animacion(imag_tele, x=1820, y=180, ciclica=True, velocidad=50) # Joystick self.joystick = pilas.actores.Actor( imagen='imag/comando/Controles/jostick.png', x=949, y=-1085) # BOTON RUN self.boton_run = pilas.actores.boton.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 = pilas.actores.boton.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 = 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 = pilas.mundo.agregar_tarea( 0.01, self.girar_engranaje) self.tarea_stop_engranaje = pilas.mundo.agregar_tarea( 1.6, self.stop_engranaje) self.botones = botones.botones() if self.config.graficos == True and self.config.lvlup == False: self.placalcd.y = pilas.interpolar(-390, tipo='lineal', demora=1, duracion=4) self.imag_engr_izq.x = pilas.interpolar(self.fin_x_chapa, tipo='lineal', demora=1, duracion=2) self.imag_engr_der.x = pilas.interpolar(self.fin_x_chapa_dercha, tipo='lineal', demora=1, duracion=2) self.engranaje_1.x = pilas.interpolar(775, tipo='lineal', demora=1, duracion=2) self.tele.x = pilas.interpolar(1100, tipo='lineal', demora=4, duracion=2) self.joystick.y = pilas.interpolar(-485, tipo='lineal', demora=4, duracion=2) self.boton_run.y = pilas.interpolar(-485, tipo='lineal', demora=4, duracion=2) self.boton_robot.y = pilas.interpolar(-485, tipo='lineal', demora=4, duracion=2) self.imag_grilla.y = pilas.interpolar(110, tipo='elastico_final', demora=3, duracion=4) # TAREA QUE HABILITA LOS BOTONES DE LOS NUMEROS Y COMANDOS self.tarea_habilitar_botones = pilas.mundo.agregar_tarea( 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 = pilas.mundo.agregar_tarea( 2, self.habilitar_botones)
def iniciar(self): #Cargo los datos guardados en disco para sincronizar los valores. alegria, salud, comida, puntos = leerValores() print "puntos al cargar la escena: " + str(puntos) # HORARIO """ chequeo qué hora es para poner al oso gordo a dormir o no """ ahora = datetime.datetime.now() #SONIDOS snd_cepillo = pilas.sonidos.cargar("sonidos/cepilloDientes.ogg") snd_enjuague = pilas.sonidos.cargar("sonidos/enjuague.ogg") # Creo el fondo fondo = pilas.imagenes.cargar('pics/fondo_banio.png') actorFondo = pilas.actores.Actor(fondo) actorFondo.z = 1000 #HUE texto_personalizado = pilas.actores.Texto("Oso Gordo", magnitud=60, fuente="fuentes/fuente.ttf", y=250, x=-320) titulo_puntos = pilas.actores.Texto("puntos", magnitud=20, fuente="fuentes/fuente.ttf", y=280, x=470) texto_puntos = pilas.actores.Texto(str(puntos), magnitud=40, fuente="fuentes/fuente.ttf", y=240, x=440) #Barras barra_alegria = pilas.actores.Energia( progreso=int(alegria), color_relleno=pilas.colores.Color(56, 255, 75), ancho=160, alto=25, con_sombra=False, con_brillo=False) barra_alegria.rotacion = -90 barra_alegria.x = 480 barra_alegria.y = 98 barra_salud = pilas.actores.Energia(progreso=int(salud), color_relleno=pilas.colores.Color( 56, 255, 75), ancho=160, alto=25, con_sombra=False, con_brillo=False) barra_salud.rotacion = -90 barra_salud.x = 450 barra_salud.y = 98 barra_comida = pilas.actores.Energia(progreso=int(comida), color_relleno=pilas.colores.Color( 56, 255, 75), ancho=160, alto=25, con_sombra=False, con_brillo=False) barra_comida.rotacion = -90 barra_comida.x = 420 barra_comida.y = 98 icono_comida = pilas.actores.Actor( pilas.imagenes.cargar("pics/jamon.png"), x=418, y=0) icono_comida.escala = pilas.interpolar([1, 1.5, 1, 1.2, 1], 1, demora=1.5) icono_alegria = pilas.actores.Actor( pilas.imagenes.cargar("pics/alegria.png"), x=482, y=0) icono_alegria.escala = pilas.interpolar([1, 1.5, 1, 1.2, 1], 1, demora=1) icono_limpieza = pilas.actores.Actor( pilas.imagenes.cargar("pics/limpieza.png"), x=450, y=0) icono_limpieza.escala = pilas.interpolar([1, 1.5, 1, 1.2, 1], 1, demora=2) #cartel habitacion img_cartel = pilas.imagenes.cargar('pics/cartel_banio.png') cartel = pilas.actores.Actor(img_cartel, x=360, y=-244) #cambiar de habitacion """botonIzq = pilas.actores.Boton(ruta_normal = 'pics/cursorIzq.png', ruta_over = 'pics/cursorIzq_over.png', x=250, y=-244) def cuando_pulsan_el_boton(): ppilas.almacenar_escena(EscenaBiblioteca()) def cuando_pasa_sobre_el_boton(): botonIzq.pintar_sobre() def cuando_deja_de_pulsar(): botonIzq.pintar_normal()""" botonDer = pilas.actores.Boton(ruta_normal='pics/cursorDer.png', ruta_over='pics/cursorDer_over.png', x=470, y=-244) def cuando_pulsan_el_boton_der(): from OsoGordo import EscenaDespensa pilas.cambiar_escena(EscenaDespensa()) def cuando_pasa_sobre_el_boton_der(): botonDer.pintar_sobre() def cuando_deja_de_pulsar_der(): botonDer.pintar_normal() # EL OSO if (ahora.hour >= 14 and ahora.hour < 16) or (ahora.hour >= 3 and ahora.hour < 9): """ Si son entre las 2 de la tarde y las 4, el oso duerme la siesta. A las doce de la noche se duerme hasta las 9 de la mañana.""" else: imagenOso = pilas.imagenes.cargar("pics/osoGordo_original.png") oso = pilas.actores.Actor(imagenOso, x=20, y=360) oso.radio_de_colision = 100 oso.centro = (530, 290) oso.z = 1 oso.y = [35], 0.5 oso.y = 35 img_rostro = pilas.imagenes.cargar("pics/rostros/gran_sonrisa.png") rostro = pilas.actores.Actor(img_rostro, x=20, y=500) rostro.y = [78], 0.5 rostro.y = 78 #el fondo se sacude al caer actorFondo.x = pilas.interpolar([10, -10, 5, 0], 0.2, demora=0.5) actorFondo.y = pilas.interpolar([30, -40, 20, 0], 0.2, demora=0.5) oso.y = pilas.interpolar([45, 35], 0.15, demora=0.5) rostro.y = pilas.interpolar([100, 78], 0.15, demora=0.5) # Creamos los elementos img_esponja = pilas.imagenes.cargar("pics/esponja.png") esponja = pilas.actores.Actor(img_esponja, x=-450, y=-245) esponja.aprender(pilas.habilidades.Arrastrable) esponja.sonido = 'sonidos/ducha.ogg' esponja.salud = 23 esponja.cuantahambreda = 9 esponja.decirAlUsar = [ u'¡NO!, ¡armas químicas NO!', u'Bañame solo de frente para hacer más rápido.', u'¡¡¡Hace chui!!!' ] img_cepillo = pilas.imagenes.cargar("pics/cepilloDientes.png") cepillo = pilas.actores.Actor(img_cepillo, x=-330, y=-245) cepillo.aprender(pilas.habilidades.Arrastrable) cepillo.sonido = 'sonidos/cepilloDientes.ogg' cepillo.salud = 12 cepillo.cuantahambreda = 2 cepillo.decirAlUsar = [ u'El dentífrico con sabor a frutilla no se come.' ] img_enjuague = pilas.imagenes.cargar("pics/enjuague.png") enjuague = pilas.actores.Actor(img_enjuague, x=-255, y=-235) enjuague.aprender(pilas.habilidades.Arrastrable) enjuague.sonido = 'sonidos/enjuague.ogg' enjuague.salud = 5 enjuague.cuantahambreda = 2 enjuague.decirAlUsar = [ u'¿El gusto ácido es normal?', u'Este líquido parece adulterado...', 'El color verde me da mala espina..', u'gggggddd me parece que tragué un poco', u' aaaajjjj por favor, comprá de otro gusto', 'Si pierdo los dientes es tu culpa' ] elementos = [esponja, cepillo, enjuague] def limpiar(oso, elemento): elemento.eliminar() #sonido # Si el elemento tiene un sonido único, elemento.sonido será una cadena. Sino, será una lista de la cual elijo un elemento al azar. if type(elemento.sonido) == str: sonido = pilas.sonidos.cargar(elemento.sonido) else: sonido = pilas.sonidos.cargar( random.choice(elemento.sonido)) sonido.reproducir() #gota_pic = pilas.imagenes.cargar("pics/gota.png") #gota = pilas.actores.Actor(gota_pic) #gotas = pilas.actores.Estrella() * 5 #gotas.aprender(pilas.habilidades.Llover) barra_salud.progreso = [barra_salud.progreso + elemento.salud] barra_comida.progreso = [ barra_comida.progreso - elemento.cuantahambreda ] chat(random.choice(elemento.decirAlUsar), 4) #Actualizo el puntaje global puntos print "puntos anteriores: " + str(puntos) puntos += 10 texto_puntos.texto = str(puntos) #actualizo los datos en disco actualizarValores( barra_alegria.progreso, barra_salud.progreso + elemento.salud, barra_comida.progreso - elemento.cuantahambreda, puntos) pilas.mundo.colisiones.agregar(oso, elementos, limpiar) #Control de habitaciones """botonIzq.conectar_presionado(cuando_pulsan_el_boton) botonIzq.conectar_sobre(cuando_pasa_sobre_el_boton) botonIzq.conectar_normal(cuando_deja_de_pulsar)""" botonDer.conectar_presionado(cuando_pulsan_el_boton_der) botonDer.conectar_sobre(cuando_pasa_sobre_el_boton_der) botonDer.conectar_normal(cuando_deja_de_pulsar_der)
def enemigo_destruido(disparo, enemigo): enemigo.eliminar() puntos.escala = 0 puntos.escala = pilas.interpolar(1, duracion=0.5, tipo='rebote_final') puntos.aumentar(1)
def iniciar(self): #Cargo los datos guardados en disco para sincronizar los valores. alegria, salud, comida, puntos = leerValores() print "puntos al cargar la escena: " + str(puntos) # HORARIO """ chequeo qué hora es para poner al oso gordo a dormir o no """ ahora = datetime.datetime.now() #SONIDOS snd_cepillo = pilas.sonidos.cargar("sonidos/cepilloDientes.ogg") snd_enjuague = pilas.sonidos.cargar("sonidos/enjuague.ogg") # Creo el fondo fondo = pilas.imagenes.cargar('pics/fondo_banio.png') actorFondo = pilas.actores.Actor(fondo) actorFondo.z = 1000 #HUE texto_personalizado = pilas.actores.Texto("Oso Gordo", magnitud=60, fuente="fuentes/fuente.ttf", y=250, x=-320) titulo_puntos = pilas.actores.Texto("puntos", magnitud=20, fuente="fuentes/fuente.ttf", y=280, x=470) texto_puntos = pilas.actores.Texto(str(puntos), magnitud=40, fuente="fuentes/fuente.ttf", y=240, x=440) #Barras barra_alegria = pilas.actores.Energia(progreso = int(alegria), color_relleno = pilas.colores.Color(56,255,75), ancho=160, alto=25, con_sombra = False, con_brillo = False) barra_alegria.rotacion = -90 barra_alegria.x = 480 barra_alegria.y = 98 barra_salud = pilas.actores.Energia(progreso = int(salud), color_relleno = pilas.colores.Color(56,255,75), ancho=160, alto=25, con_sombra = False, con_brillo = False) barra_salud.rotacion = -90 barra_salud.x = 450 barra_salud.y = 98 barra_comida = pilas.actores.Energia(progreso = int(comida), color_relleno = pilas.colores.Color(56,255,75), ancho=160, alto=25, con_sombra = False, con_brillo = False) barra_comida.rotacion = -90 barra_comida.x = 420 barra_comida.y = 98 icono_comida = pilas.actores.Actor(pilas.imagenes.cargar("pics/jamon.png"), x=418, y=0) icono_comida.escala = pilas.interpolar([1, 1.5, 1,1.2,1], 1, demora = 1.5) icono_alegria = pilas.actores.Actor(pilas.imagenes.cargar("pics/alegria.png"), x=482, y=0) icono_alegria.escala = pilas.interpolar([1, 1.5, 1,1.2,1], 1, demora = 1) icono_limpieza = pilas.actores.Actor(pilas.imagenes.cargar("pics/limpieza.png"), x=450, y=0) icono_limpieza.escala = pilas.interpolar([1, 1.5, 1,1.2,1], 1, demora = 2) #cartel habitacion img_cartel = pilas.imagenes.cargar('pics/cartel_banio.png') cartel = pilas.actores.Actor(img_cartel, x=360, y=-244) #cambiar de habitacion """botonIzq = pilas.actores.Boton(ruta_normal = 'pics/cursorIzq.png', ruta_over = 'pics/cursorIzq_over.png', x=250, y=-244) def cuando_pulsan_el_boton(): ppilas.almacenar_escena(EscenaBiblioteca()) def cuando_pasa_sobre_el_boton(): botonIzq.pintar_sobre() def cuando_deja_de_pulsar(): botonIzq.pintar_normal()""" botonDer = pilas.actores.Boton(ruta_normal = 'pics/cursorDer.png', ruta_over = 'pics/cursorDer_over.png', x=470, y=-244) def cuando_pulsan_el_boton_der(): from OsoGordo import EscenaDespensa pilas.cambiar_escena(EscenaDespensa()) def cuando_pasa_sobre_el_boton_der(): botonDer.pintar_sobre() def cuando_deja_de_pulsar_der(): botonDer.pintar_normal() # EL OSO if (ahora.hour >= 14 and ahora.hour < 16) or (ahora.hour >= 3 and ahora.hour < 9): """ Si son entre las 2 de la tarde y las 4, el oso duerme la siesta. A las doce de la noche se duerme hasta las 9 de la mañana.""" else: imagenOso = pilas.imagenes.cargar("pics/osoGordo_original.png") oso = pilas.actores.Actor(imagenOso, x=20, y=360) oso.radio_de_colision = 100 oso.centro = (530,290) oso.z = 1 oso.y = [35],0.5 oso.y = 35 img_rostro = pilas.imagenes.cargar("pics/rostros/gran_sonrisa.png") rostro = pilas.actores.Actor(img_rostro, x=20, y=500) rostro.y = [78],0.5 rostro.y = 78 #el fondo se sacude al caer actorFondo.x = pilas.interpolar([10, -10, 5, 0], 0.2, demora = 0.5) actorFondo.y = pilas.interpolar([30, -40, 20, 0], 0.2, demora = 0.5) oso.y = pilas.interpolar([45,35], 0.15, demora = 0.5) rostro.y = pilas.interpolar([100,78], 0.15, demora = 0.5) # Creamos los elementos img_esponja = pilas.imagenes.cargar("pics/esponja.png") esponja = pilas.actores.Actor(img_esponja, x=-450, y=-245) esponja.aprender(pilas.habilidades.Arrastrable) esponja.sonido = 'sonidos/ducha.ogg' esponja.salud = 23 esponja.cuantahambreda = 9 esponja.decirAlUsar = [u'¡NO!, ¡armas químicas NO!', u'Bañame solo de frente para hacer más rápido.', u'¡¡¡Hace chui!!!'] img_cepillo = pilas.imagenes.cargar("pics/cepilloDientes.png") cepillo = pilas.actores.Actor(img_cepillo, x=-330, y=-245) cepillo.aprender(pilas.habilidades.Arrastrable) cepillo.sonido = 'sonidos/cepilloDientes.ogg' cepillo.salud = 12 cepillo.cuantahambreda = 2 cepillo.decirAlUsar = [u'El dentífrico con sabor a frutilla no se come.'] img_enjuague = pilas.imagenes.cargar("pics/enjuague.png") enjuague = pilas.actores.Actor(img_enjuague, x=-255, y=-235) enjuague.aprender(pilas.habilidades.Arrastrable) enjuague.sonido = 'sonidos/enjuague.ogg' enjuague.salud = 5 enjuague.cuantahambreda = 2 enjuague.decirAlUsar = [u'¿El gusto ácido es normal?', u'Este líquido parece adulterado...', 'El color verde me da mala espina..', u'gggggddd me parece que tragué un poco', u' aaaajjjj por favor, comprá de otro gusto', 'Si pierdo los dientes es tu culpa'] elementos = [esponja, cepillo, enjuague] def limpiar(oso, elemento): elemento.eliminar() #sonido # Si el elemento tiene un sonido único, elemento.sonido será una cadena. Sino, será una lista de la cual elijo un elemento al azar. if type(elemento.sonido) == str: sonido = pilas.sonidos.cargar(elemento.sonido) else: sonido = pilas.sonidos.cargar(random.choice(elemento.sonido)) sonido.reproducir() #gota_pic = pilas.imagenes.cargar("pics/gota.png") #gota = pilas.actores.Actor(gota_pic) #gotas = pilas.actores.Estrella() * 5 #gotas.aprender(pilas.habilidades.Llover) barra_salud.progreso = [barra_salud.progreso + elemento.salud] barra_comida.progreso = [barra_comida.progreso - elemento.cuantahambreda] chat(random.choice(elemento.decirAlUsar), 4) #Actualizo el puntaje global puntos print "puntos anteriores: " + str(puntos) puntos += 10 texto_puntos.texto = str(puntos) #actualizo los datos en disco actualizarValores(barra_alegria.progreso, barra_salud.progreso + elemento.salud, barra_comida.progreso - elemento.cuantahambreda, puntos) pilas.mundo.colisiones.agregar(oso, elementos, limpiar) #Control de habitaciones """botonIzq.conectar_presionado(cuando_pulsan_el_boton) botonIzq.conectar_sobre(cuando_pasa_sobre_el_boton) botonIzq.conectar_normal(cuando_deja_de_pulsar)""" botonDer.conectar_presionado(cuando_pulsan_el_boton_der) botonDer.conectar_sobre(cuando_pasa_sobre_el_boton_der) botonDer.conectar_normal(cuando_deja_de_pulsar_der)