Я пытаюсь провести рефакторинг, но меняю только одно имя переменной, а не все, но в другом модуле я пытаюсь изменить его, и он отлично работает там. Я хотел бы провести рефакторинг одной переменной и изменить все остальные переменные с таким же именем.
def check_bullet_alien_collisions(ai_settings,screen, stats, sb, ship, aliens, bullets):
"""Respond to bullet-alien collisions."""
# Remove any bullets and aliens that have collided.
collisions = pygame.sprite.groupcollide(bullets, aliens, True, True)
# Check any bullets that have hit aliens.
if collisions:
for aliens in collisions.values():
stats.score += ai_settings.alien_points * len(aliens)
sb.prep_score()
check_high_score(stats, sb)
# If so, get rid of the bullet and the alien.
if len(aliens) == 0:
# if the entire fleet is destroyed
# Destroy existing bullets, speed up game, and create new fleet.
bullets.empty()
ai_settings.increase_speed()
# increase level
stats.level += 1
sb.prep_level()
create_fleet(ai_settings,screen,ship,aliens)
def fire_bullet(ai_settings, screen, ship, bullets):
# checks whether max bullets on screen are 3 and adds new bullet
if len(bullets) < ai_settings.bullets_allowed:
new_bullet = Bullet(ai_settings, screen, ship)
bullets.add(new_bullet)
def get_number_aliens_x(ai_settings, alien_width):
# Create an alien and find the number of aliens in a row.
# Spacing between each alien is equal to one alien width.
available_space_x = ai_settings.screenwidth - (2 * alien_width)
number_alien_x = int(available_space_x / (2 * alien_width))
return number_alien_x