Я хочу, чтобы при вызове пешки, пули летели в сторону врага(ближайшего иди рандомного), делаю игру на подобии Rush Royale.
class Hero(): #сама пешка
def __init__(self, attack, speed):
self.attack = attack
self.speed = speed
def object(self, color, color_hat):
self.color = color
self.color_hat = color_hat
pygame.draw.rect(screen, color, (90,810,50,50))
pygame.draw.rect(screen, color_hat, (100,820,30,30))
class Enemy(pygame.sprite.Sprite): #Враг - Моб
def __init__(self, hp_mob, speed_mob, x, y):
pygame.sprite.Sprite.__init__(self)
self.hp_mob = hp_mob
self.speed_mob = speed_mob
self.image = pygame.Surface((50, 50))
self.x = x
self.y = y
self.image.fill(Green)
self.rect = self.image.get_rect()
self.rect.center = (x, y)
def update(self): #движение его
self.rect.y -=5
if self.rect.y <=700:
self.rect.y =700
self.rect.x +=3
class Bullet(pygame.sprite.Sprite): #пуля
def __init__(self, X, Y):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((10,10))
self.X = X
self.Y = Y
self.image.fill(Green)
self.rect = self.image.get_rect()
self.rect.center = (X, Y)
def update(self):
#должен быть код, где спрайты(пули) движутся к врагу
self.rect.x += 5
if self.rect.x > 600:
self.kill()
h = Hero(1, 1)
Mob = Enemy(10,20, 50,1300)
Bul = Bullet(350,700)