import pygame import random from pygame.sprite import Sprite class Enemigo(Sprite): ''' Clase para representar un enemigo ''' def __init__(self, juego): ''' Inicializa al enemigo y lo coloca ''' super().__init__() self.screen = juego.screen self.direccion = 'Aba' # Cargamos imagen del enemigo direccion = random.randrange(1,5) if direccion == 1: self.direccion = 'Aba' self.rutaImagen = 'imagenes/enemigo_abajo_01.png' if direccion == 2: self.direccion = 'Arr' self.rutaImagen = 'imagenes/enemigo_arriba_01.png' if direccion == 3: self.direccion = 'Dcha' self.rutaImagen = 'imagenes/enemigo_derecha_01.png' if direccion == 4: self.direccion = 'Izda' self.rutaImagen = 'imagenes/enemigo_izquierda_01.png' self.velocidad = 1 self.avance = random.randrange(25,200) self.vEnemigo = True self.image = pygame.image.load(self.rutaImagen) self.rect = self.image.get_rect() # Colocar al enemigo en su posicion self.rect.x = self.rect.width self.rect.y = self.rect.height # guardamos posicion exacta del enemigo self.x = float(self.rect.x) self.y = float(self.rect.y) def update(self): ''' Mover a los enemigos ''' if self.vEnemigo: if self.direccion == 'Aba': self.rutaImagen = 'imagenes/enemigo_abajo_01.png' if self.direccion == 'Arr': self.rutaImagen = 'imagenes/enemigo_arriba_01.png' if self.direccion == 'Dcha': self.rutaImagen = 'imagenes/enemigo_derecha_01.png' if self.direccion == 'Izda': self.rutaImagen = 'imagenes/enemigo_izquierda_01.png' else: if self.direccion == 'Aba': self.rutaImagen = 'imagenes/enemigo_abajo_02.png' if self.direccion == 'Arr': self.rutaImagen = 'imagenes/enemigo_arriba_02.png' if self.direccion == 'Dcha': self.rutaImagen = 'imagenes/enemigo_derecha_02.png' if self.direccion == 'Izda': self.rutaImagen = 'imagenes/enemigo_izquierda_02.png' self.vEnemigo = not self.vEnemigo # Desplazar tanque enemigo if self.avance <= 0: self.avance = random.randrange(25,200) direccion = random.randrange(1, 5) if direccion == 1: self.direccion = 'Aba' self.rutaImagen = 'imagenes/enemigo_abajo_01.png' if direccion == 2: self.direccion = 'Arr' self.rutaImagen = 'imagenes/enemigo_arriba_01.png' if direccion == 3: self.direccion = 'Dcha' self.rutaImagen = 'imagenes/enemigo_derecha_01.png' if direccion == 4: self.direccion = 'Izda' self.rutaImagen = 'imagenes/enemigo_izquierda_01.png' else: if self.direccion == 'Arr': self.rect.y -= self.velocidad if self.direccion == 'Aba': self.rect.y += self.velocidad if self.direccion == 'Dcha': self.rect.x += self.velocidad if self.direccion == 'Izda': self.rect.x -= self.velocidad # Restamos movimiento realizado self.avance -= self.velocidad # Cambiar direccion si se sale de pantalla pantalla = self.screen.get_rect() if self.rect.x <= pantalla.left: # choca lado izdo self.direccion = 'Dcha' if self.rect.x >= pantalla.right - 64: self.direccion = 'Izda' if self.rect.y <= pantalla.top: self.direccion = 'Aba' if self.rect.y >= pantalla.bottom - 64: self.direccion = 'Arr' self.image = pygame.image.load(self.rutaImagen)