Создайте случайную позицию и оцените, пересекается ли новая машина в тайской позиции с любой другой машиной. Если машины перекрывают друг друга, то позицию отбросьте. Используйте объекты pygame.Rect
и colliderect()
, чтобы оценить, перекрываются ли автомобили. Далее предполагается, что позиция автомобиля (enmey.x
, enemy.y
), а размер автомобиля (enemy_width
, enemy_height
):
for _ in range(wavelengthL):
while True:
x, y = random.randrange(160, Width/2 - 50), random.randrange(-1500, -100)
new_rect = pygame.Rect(x, y, enemy_width, enemy_height)
if not any(enmey for enmey in enemiesL if new_rect.colliderect(enmey.x, enmey.y, enemy_width, enemy_height)):
break
enemy = EnemyL(x, y, random.choice(["black", "blue", "brown", "darkblue", "orange", "pale", "purple", "red", "white", "yellow"]))
enemiesL.append(enemy)
for _ in range(wavelengthR):
while True:
x, y = random.randrange(Width/2, Width-200), random.randrange(-1500, -100)
new_rect = pygame.Rect(x, y, enemy_width, enemy_height)
if not any(enmey for enmey in enemiesR if new_rect.colliderect(enmey.x, enmey.y, enemy_width, enemy_height)):
break
enemy = EnemyR(x, y, random.choice(["black", "blue", "brown", "darkblue", "orange", "pale", "purple", "red", "white", "yellow"]))
enemiesR.append(enemy)