import pygame from pygame.sprite import Sprite #from clase_tanque import Tanque class Bala(Sprite): ''' Clase para gestionar las balas disparadas ''' def __init__(self, juego, direccion): ''' Crear objeto desde posicion del tanque ''' super().__init__() self.screen = juego.screen self.settings = juego.settings self.color = self.settings.bala_color # Crear rectangulo para la bala en posicion (0,0) y luego la colocamos self.rect = pygame.Rect(0,0, self.settings.bala_ancho, self.settings.bala_largo) self.rect.midtop = juego.tanque.rect.midtop self.direccion_bala = direccion # defecto self.x = float(self.rect.x) self.y = float(self.rect.y) if self.direccion_bala == 'Arr': self.x = float(self.rect.x) self.y = float(self.rect.y) if self.direccion_bala == 'Aba': self.x = float(self.rect.x) self.y = float(self.rect.y) + 64 if self.direccion_bala == 'Dcha': self.x = float(self.rect.x) + 31 self.y = float(self.rect.y) + 30 if self.direccion_bala == 'Izda': self.x = float(self.rect.x) - 31 self.y = float(self.rect.y) + 30 def update(self): if self.direccion_bala == 'Arr': self.y -= self.settings.bala_velocidad if self.direccion_bala == 'Aba': self.y += self.settings.bala_velocidad if self.direccion_bala == 'Dcha': self.x += self.settings.bala_velocidad if self.direccion_bala == 'Izda': self.x -= self.settings.bala_velocidad self.rect.x = self.x self.rect.y = self.y def pintar_bala(self): pygame.draw.rect(self.screen, self.color, self.rect)