Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame, sys
- from pygame.locals import*
- import random
- import time
- import os
- import sys
- ANCHO = 1200
- ALTO = 600
- clock = pygame.time.Clock()
- class naveespacial(pygame.sprite.Sprite):
- """clase para las naves"""
- #instancio una clase
- def __init__(self):
- # agregarle cosas a una clase
- pygame.sprite.Sprite.__init__(self)
- self.imagennave = pygame.image.load('nave.png')
- self.rect = self.imagennave.get_rect()
- self.rect.centerx = ANCHO/2
- self.rect.centery = ALTO-22
- self.vidas = [1, 1, 1]
- self.vida = True
- self.velocidad = 15
- #self.sonidodisparo = pygame.mixer.Sound('shoot.wav')
- def disparar(self):
- print ("---------disparo-------")
- self.sonidodisparo.play()
- def dibujar(self, superficie):
- superficie.blit(self.imagennave, self.rect)
- def movimiento(self):
- if self.vida == True:
- if self.rect.left <= 0:
- self.rect.left = 1200
- elif self.rect.left >= 1200:
- self.rect.right = 0
- #def vidajugador (self):
- # if balainvasor == (posx and posy jugador)
- # self.vidas().delete.[0]
- def drawScore(score):
- scoreSurf = BASICFONT.render('Score: %s' % (score), True, (255,255,255))
- scoreRect = scoreSurf.get_rect()
- scoreRect.topleft = (ANCHO - 140, 10)
- ventana.blit(scoreSurf, scoreRect)
- def CreaNaves():
- naves = [[pygame.image.load('invasor.png') for i in range(1)] for i in range(1)]
- return naves
- #####################################################################
- #def CreaBoque():
- # bloque = [[pygame.draw.rect(ventana, (50,100,90)), (bloquex,bloquey) for i in range(1)] for i in range(1)]
- # return bloque
- #####################################################################
- def CreaBloques():
- for j in range (4):
- for i in range (5):
- pygame.draw.rect(ventana, (10,20,10), (int(150+(j*250)+(i*27)), 500, 25, 25))
- for k in range (5):
- pygame.draw.rect(ventana, (50,100,20), (int(150+(j*250)+(k*27)), 473, 25, 25))
- for l in range (5):
- pygame.draw.rect(ventana, (50,100,0), (int(150+(j*250)+(l*27)), 446, 25, 25))
- def spaceinvader():
- global BASICFONT, ventana
- pygame.init()
- BASICFONT = pygame.font.Font('freesansbold.ttf', 25)
- ventana = pygame.display.set_mode((ANCHO, ALTO))
- pygame.display.set_caption("Space Invader")
- fondo = pygame.image.load('espacio.png')
- #pygame.mixer.music.load('spaceinvaders1.mpeg')
- #pygame.mixer.music.play(3)
- jugador = naveespacial()
- #definir que esta vivo desde un comienzo
- CreaNaves()
- #naves = [[pygame.image.load('invasor.png') for i in range(1)] for i in range(1)]
- bala = pygame.image.load('proyectil.png')
- a = 0
- navex = 20
- navey = 50
- posx = 500
- posy = 610
- bloquex = 100
- bloquey = 550
- parte = 0
- direccion = 'derecha'
- vivo = True
- while True:
- # Score
- drawScore(5)
- #tiempo
- clock.tick( 500 );
- #Movimiento de la clase del jugador
- jugador.movimiento()
- for evento in pygame.event.get():
- if evento.type == QUIT:
- pygame.quit()
- sys.exit()
- # Teclas oprimidas para movimiento del jugador y de la bala
- if vivo == True:
- keys = pygame.key.get_pressed()
- pygame.display.update()
- if keys[K_LEFT]:
- jugador.rect.left = jugador.rect.left - 9
- #print (jugador.rect.left)
- if keys[K_RIGHT]:
- jugador.rect.right = jugador.rect.right + 9
- #pygame.display.update()
- if keys[K_s]:
- jugador.disparar()
- if keys[K_SPACE]:
- a = 1
- if posy <0:
- a = 0
- posy = 605
- if a == 1 :
- posx = jugador.rect.left
- posy = posy - 10
- # movimiento de las naves enemigas
- if direccion == 'derecha':
- navex = navex + 10
- else:
- navex = navex - 10
- if navex > 680:
- navey = navey + 5
- direccion = 'izquierda'
- if navex < 50:
- navey = navey + 5
- direccion = 'derecha'
- ventana.blit(fondo, (0,0))
- #v=[]
- # ciclo de enemigos
- for f in range(3):
- #v.append([])
- #print("--------------------------", list(v))
- for c in range(8):
- ventana.blit(CreaNaves()[0][0], (c * 60 + navex, f * 60 + navey))
- #v[f].append(c * 60 + navex)
- #print(list(v))
- #pygame.display.update()
- #v[0].pop(1)
- #print ("------------------------", v)
- ventana.blit (bala,(posx,posy))
- CreaBloques()
- jugador.dibujar(ventana)
- pygame.display.update()
- spaceinvader()
- navex = 10
- navey = 50
- ### while true
- ########navex = navex + 5
- ###### for fila in rango de 5
- ########for columna in rango de 8
- #######DISPLAYSURF.blit(naves[0][0]), (c*60 + navex, f*60+navey)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement