Pygame Platformer - случайные враги - PullRequest
1 голос
/ 01 апреля 2019

У меня сейчас проблема при попытке случайного появления врагов в моей платформерной игре.У меня есть класс противника class Enemy(pygame.sprite.Sprite):, который имеет функции __init__ и move(self).В настоящее время каждый экземпляр врага определяется индивидуально:

 enemy1 = Enemy(210,515,"Enemy.png")
 enemy2 = Enemy(705,515,"Enemy.png")
 enemy3 = Enemy(1505,515,"Enemy.png")

Во время основного игрового цикла я добавляю каждый экземпляр в группу:

enemy_list = pygame.sprite.Group()
        enemy_list.add(enemy1)
        enemy_list.add(enemy2)
        enemy_list.add(enemy3)

Однако я бы предпочел, чтобы появлялись враги.в случайное время в случайной позиции, так что я надеялся, что смогу сделать такую ​​проверку:

if random.randrange(0,100) < 1:
                spawnEnemy = Enemy(400, 515, "Enemy.png")

Моя проблема в том, что я не знаю, как теперь добавить случайный эней в список врагов.Есть идеи?

1 Ответ

0 голосов
/ 01 апреля 2019

если я прав, координаты передаются в class Enemy(pygame.sprite.Sprite): для создания экземпляра

, в этом случае случайное позиционирование может быть выполнено с помощью:

enemy4 = Enemy(random.randrange(100,1000),random.randrange(100,1000),"Enemy.png")
enemy_list.add(enemy4)

, если вы не можете жестко закодировать идентификатор противника,попробуйте напрямую добавить в список групп противника без присвоения:

enemy_list.add(Enemy(random.randrange(100,1000),random.randrange(100,1000),"Enemy.png"))
...