#pgzero
import random
WIDTH = 600
HEIGHT = 450
TITLE = "Viaje espacial"
FPS = 30
# Objetos y variables
ship = Actor("ship", (300, 400))
space = Actor("space")
enemies = []
planets = [Actor("plan1", ([Link](0, 600), -100)), Actor("plan2",
([Link](0, 600), -100)), Actor("plan3", ([Link](0, 600), -100))]
meteors = []
mode = 'menu'
ship1 = Actor("ship1", (100, 250))
ship2 = Actor("ship2", (300, 250))
ship3 = Actor("ship3", (500, 250))
# Elaboración de la lista de enemigos
for i in range(5):
x = [Link](0, 600)
y = [Link](-450, -50)
enemy = Actor("enemy", (x, y))
[Link] = [Link](2, 8)
[Link](enemy)
# Lista de meteoritos
for i in range(5):
x = [Link](0, 600)
y = [Link](-450, -50)
meteor = Actor("meteor", (x, y))
[Link] = [Link](2, 10)
[Link](meteor)
# Elaboración
def draw():
# Pantalla del menú de inicio
if mode == "menu":
[Link]()
[Link]("Elige tu Nave", center = (300, 100), color = "white",
fontsize = 36)
[Link]()
[Link]()
[Link]()
# Modo de juego
if mode == 'game':
[Link]()
planets[0].draw()
# Atraer a los meteoritos
for i in range(len(meteors)):
meteors[i].draw()
[Link]()
# Atraer a los enemigos
for i in range(len(enemies)):
enemies[i].draw()
# Ventana de finalización del juego
elif mode == 'end':
[Link]()
[Link]("GAME OVER!", center = (300, 200), color = "white",
fontsize = 36)
# Controles
def on_mouse_move(pos):
[Link] = pos
# Añadir nuevos enemigos a la lista
def new_enemy():
x = [Link](0, 400)
y = -50
enemy = Actor("enemy", (x, y))
[Link] = [Link](2, 8)
[Link](enemy)
# Movimiento del enemigo
def enemy_ship():
for i in range(len(enemies)):
if enemies[i].y < 650:
enemies[i].y = enemies[i].y + enemies[i].speed
else:
[Link](i)
new_enemy()
# Movimiento de los planetas
def planet():
if planets[0].y < 550:
planets[0].y = planets[0].y + 1
else:
planets[0].y = -100
planets[0].x = [Link](0, 600)
first = [Link](0)
[Link](first)
# Movimiento de los meteoritos
def meteorites():
for i in range(len(meteors)):
if meteors[i].y < 450:
meteors[i].y = meteors[i].y + meteors[i].speed
else:
meteors[i].x = [Link](0, 600)
meteors[i].y = -20
meteors[i].speed = [Link](2, 10)
# Colisiones
def collisions():
global mode
for i in range(len(enemies)):
if [Link](enemies[i]):
mode = 'end'
def update(dt):
if mode == 'game':
enemy_ship()
collisions()
planet()
meteorites()
def on_mouse_down(button, pos):
global mode
if mode == "menu":
if [Link](pos):
[Link] = "ship1"
mode = "game"
if [Link](pos):
[Link] = "ship2"
mode = "game"
if [Link](pos):
[Link] = "ship3"
mode = "game"