У меня есть игра, которую я делаю.Прямо сейчас в игре потребуется порождение определенного количества противника определенного типа.Для оптимизации я решил поместить все это в один список / массив.Хотя я полностью осведомлен о том, как проверить, находится ли указанный конкретный объект в массиве, я не уверен, как проверить, сколько его существует.Игра работала так, как задумывалось ранее, но это было до того, как я попытался поместить ее в один список.
В настоящее время я пытаюсь сделать это с помощью модуля «Проверка».Я уже пытался использовать для петель.т.е.
for enemy in entities:
if isinstance(enemy,Enemy)#"Enemy" is a class
#do something worthwhile
Список
Entities = []
Часть кода, управляющая порождением.
if len(entities) == 0:
global enemypresent,enemyApresent,alienApresent
enemypresent = 0
enemyApresent = 0
alienApresent = 0
for enemy in entities:
if isinstance(enemy,Enemy):
enemypresent += 1
if isinstance(enemy,EnemyAttack):
enemyApresent += 1
#if enemypresent < 5:
# entities.append(Enemy(random.randint(0,WIDTH-70),-50,70,70))
if enemyApresent == 0:
if random.randint(0,100) >= 75:
entities.append(AlienAttack(random.randint(0,WIDTH-70),-50,70,70))
else:
entities.append(EnemyAttack(random.randint(0,WIDTH-70),-50,70,70))
Я ожидаю, что код проверит, сколько из определенного объектаесть в списке.т.е. «В списке сущностей 4 обычных врага» «В списке сущностей 5 атакующих врагов» и т. д.
Любые альтернативы также приветствуются.