class Enemy:
def __init__(self, x, y):
self.x = x
self.y = y
self.speedx = 10
self.speedy = 10
self.randomint = random.randint(0, 3)
def draw(self, screen):
screen.blit(enemyImage, (self.x, self.y))
def move(self):
if self.randomint == 0:
self.x -= self.speedx
self.y -= self.speedy
if self.randomint == 1:
self.x += self.speedx
self.y -= self.speedy
if self.randomint == 2:
self.x -= self.speedx
self.y += self.speedy
if self.randomint == 3:
self.x += self.speedx
self.y += self.speedy
if self.x == 0 or self.x == 768:
self.speedx = -self.speedx
if self.y == 0 or self.y == 568:
self.speedy = -self.speedy
def drawGame():
screen.fill((255,255,255))
robot.draw(screen)
for bullet in robot.bullets:
bullet.drawBullet()
for enemy in enemies:
enemy.draw(screen)
pygame.time.delay(30)
pygame.display.update()
robot = Player(400, 300)
enemies = []
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
enemy = Enemy(400, 200)
enemies.append(enemy)
for enemy in enemies:
enemy.move()
userInput = pygame.key.get_pressed()
robot.shoot()
robot.movePlayer(userInput)
drawGame()
I thought this section of code could be useful for determining my problem. Running this code infinitely spawns enemies at the designated x and y value. Since I'm only calling one instance of the class Enemy, I thought only one enemy would spawn with a random movement direction. Why is this occurring instead? Thanks