def test_last_movement(move, speed, pacman): test = Box(pacman.rect.x, pacman.rect.y) global last_movement if move == 'U': test.rect.top -= speed if not pygame.sprite.spritecollide(test, box_group, False): pacman_group.update(move) else: pacman_group.update('') elif move == 'D': test.rect.bottom += speed if not pygame.sprite.spritecollide(test, box_group, False): pacman_group.update(move) else: pacman_group.update('') elif move == 'L': test.rect.left -= speed if not pygame.sprite.spritecollide(test, box_group, False): pacman_group.update(move) else: pacman_group.update('') elif move == 'R': test.rect.right += speed if not pygame.sprite.spritecollide(test, box_group, False): pacman_group.update(move) else: pacman_group.update('')
# Create Boxes for collisions box_group = pygame.sprite.Group() # Grid (for movement) # Uses Box objects grid_group = pygame.sprite.Group() # Pellets # To create a Pellet object: Pellet(x, y) pellet_group = pygame.sprite.Group() # Magic Pellets magic_pellet_group = pygame.sprite.Group() # Teleporters l_transporter = pygame.sprite.GroupSingle(Box(0, 16 * 15)) r_transporter = pygame.sprite.GroupSingle(Box(16 * 27, 16 * 15)) # Respawner respawner = pygame.sprite.GroupSingle(Box(208, 192)) # Create Grid System x = 0 y = 16 while y < constants.WINDOWHEIGHT: while x < constants.WINDOWWIDTH: # 16x16 area used for cropping selected_area = pygame.Rect(x, y, 16, 16) # Creates a cropped image from the background cropped_image = background.subsurface(selected_area)
# Pixels per loop MOVESPEED = 4 # Grid (for movement) # Uses Box objects grid_group = pygame.sprite.Group() # Pellets # To create a Pellet object: Pellet(x, y) pellet_group = pygame.sprite.Group() # Magic Pellets magic_pellet_group = pygame.sprite.Group() # Teleporters l_transporter = pygame.sprite.GroupSingle(Box(0, 16 * 15)) r_transporter = pygame.sprite.GroupSingle(Box(16 * 27, 16 * 15)) # Create Grid System x = 0 y = 16 while y < constants.WINDOWHEIGHT: while x < constants.WINDOWWIDTH: # 16x16 area used for cropping selected_area = pygame.Rect(x, y, 16, 16) # Creates a cropped image from the background cropped_image = background.subsurface(selected_area) # If the cropped image's color is BLACK if pygame.transform.average_color(