Juego De Disparos (MARC PÉREZ)

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import pilasengine

import random

pilas = pilasengine.iniciar()

# Variables y Constantes
balas_simples = pilasengine.actores.Bomba "En esta linea cambiamos las balas por bombas como actor de la torreta"
zanahorias = [] "Aquí ponemos a las zanahorias como el conjunto vacío"
tiempo=6
fin_de_juego=False

# Funciones

def zanahoria_destruida(disparo, enemigo):
# Eliminar la maton alcanzado
enemigo.eliminar() / disparo.eliminar() "Estas lineas permiten la eliminación del enemigo tras recibir un disparo"
# Actualizar el marcador con un efecto bonito
puntos.escala = 0
puntos.escala = pilas.utils.interpolar(puntos, 'escala', 1, duracion=0.5)
puntos.aumentar(1)
def crear_zanahoria():
# Crear un enemigo nuevo
enemigo = pilas.actores.Zanahoria() "Aquí cambiamos a los monos por zanahorias como nuevo objetivo de la torreta"
# Hacer que se aparición sea con un efecto bonito "El enemigo aparece en la pantalla de forma elgante"
enemigo.escala = 0
enemigo.escala =pilas.utils.interpolar(enemigo, 'escala', 1, duracion=5) "Esta linea hace que la transición dure 5 segundo hasta llegar a escala 1"
# Dotarle de la habilidad de que explote al ser alcanzado por un disparo
enemigo.aprender(pilas.habilidades.PuedeExplotar) "Cuando el enemigo es alcanzado por una bala, este explota"
# Situarlo en una posición al azar, no demasiado cerca del jugador
x = random.randrange(-320, 320)
y = random.randrange(-240, 240)
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
a=random.randrange(-320, 320)
b=random.randrange(-600, 600)
enemigo.x = [a, b], 1
enemigo.y = [b, a], 1

# Añadirlo a la lista de enemigos
zanahorias.append(enemigo) "En esta linea añadiremos las zanhorias como nuevo enemigo"
# Permitir la creación de enemigos mientras el juego esté en activo
if fin_de_juego:
return False
else:
return True
def perder(torreta, enemigo):
# Indicar fin de juego y eliminar lo que ya no se necesita
global fin_de_juego
torreta.eliminar() "Aquí indicamos que la torreta será eliminada una vez sea alcanzada por una zanahoria"
pilas.tareas.eliminar_todas()
fin_de_juego = True
pilas.avisar("GAME OVER. Conseguiste %d puntos" % (puntos.obtener()))


# Añadir la torreta del jugador "En esta linea adherimos la torreta como herramienta que utilizaremos para eliminar enemigos"
torreta = pilas.actores.Torreta(municion_bala_simple=balas_simples,
enemigos=zanahorias,
cuando_elimina_enemigo=zanahoria_destruida) "Indicamos que cuando la torreta elimina la zanahoria, esta se destruye"

# Crear un enemigo cada segundo "Aquí indicamos la creación de un enemigo (zanahoria) cada segundo"
pilas.tareas.agregar(1, crear_zanahoria)

# Usar un fondo estándar
pilas.fondos.Noche() "Aquí hemos cambiado el fondo del juego, antes era Pasto ahora es Noche"

# Añadir un marcador
puntos = pilas.actores.Puntaje(x=-230, y=200, color=pilas.colores.amarillo) "Aquí hemos cambaido tanto el color como la posición del marcador"
puntos.magnitud = 40

# Añadir el conmutador de Sonido "Aquí es obvio la adición del sonido al juego"
pilas.actores.Sonido()

# Añadir la colisión de enemigos con la torreta para finalizar el juego
pilas.colisiones.agregar(torreta, zanahorias, perder) "Aquí indicamos que una vez hayan colisonado las zanahorias (enemigos) con la torreta, el jugador pierde"

# Arrancar el juego
pilas.ejecutar()

Comentarios