Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def enemy_spawns(self):
- if len(self.enemy_sprite_list1) == 0:
- enemy_count1 = random.randint(18, 35) # To set a random number of enemies to spawn (first row)
- for _ in range(enemy_count1): # Populating the first row on enemies.
- self.enemy_sprite = Enemies()
- self.enemy_sprite_list1.append(self.enemy_sprite)
- for enemy in self.enemy_sprite_list1: # Setting the positions of the first row of enemies.
- enemy.center_x = random.randrange(0 + enemy_radius / 2, WINDOW_WIDTH - enemy_radius / 2, enemy_radius)
- enemy.center_y = WINDOW_HEIGHT + enemy_radius * 2
- while arcade.check_for_collision_with_list(enemy,
- self.enemy_sprite_list1): # So that enemies don t spawn overlapped.
- enemy.center_x = random.randrange(0 + enemy_radius / 2, WINDOW_WIDTH - enemy_radius / 2,
- enemy_radius)
- for enemy1 in self.enemy_sprite_list1[0:1]: ### Here we only need to look at one sprite in this list
- if enemy1.center_y <= WINDOW_HEIGHT / 2 and len(
- self.enemy_sprite_list2) == 0: # When the first row of enemy is at half screen (500) we create and spawn the second row.
- enemy_count2 = random.randint(18, 35) # To set a random number of enemies to spawn (second row)
- for _ in range(enemy_count2): # Populating the second row of enemies.
- self.enemy_sprite = Enemies()
- self.enemy_sprite_list2.append(self.enemy_sprite)
- for enemy2 in self.enemy_sprite_list2: # Setting the positions of the second row of enemies.
- enemy2.center_x = random.randrange(0 + enemy_radius / 2, WINDOW_WIDTH - enemy_radius / 2,
- enemy_radius)
- enemy2.center_y = WINDOW_HEIGHT + enemy_radius * 2
- while arcade.check_for_collision_with_list(enemy2,
- self.enemy_sprite_list2): # So that enemies don t spawn overlapped.
- enemy2.center_x = random.randrange(0 + enemy_radius / 2, WINDOW_WIDTH - enemy_radius / 2,
- enemy_radius)
- if enemy1.center_y < 0: # When the obstacles's center is below the screen
- for sp in self.enemy_sprite_list1: ### one sprite from list1 hit bottom, so kill all of this list
- del sp
- self.enemy_sprite_list1.clear() # clear the sprite list.
- self.score_updated = False # Current row's score can be updated again.
- for enemy2 in self.enemy_sprite_list2[0:1]: ### Here we only need to look at one list2 enemy sprite
- if enemy2.center_y < 0:
- self.score_updated = False # Current row's score can be updated again.
- for sp in self.enemy_sprite_list2: ### One sprite hit bottom, so kill all of this list
- del sp
- self.enemy_sprite_list2.clear() ### move the clear() down to here
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement