Привет! Я заметил проблему в вашем коде. Когда вы используете функцию `pygame.sprite.spritecollide`, вы передаете ей объекты `pygame.surface.Surface`, а не объекты `pygame.sprite.Sprite`. Это вызывает ошибку `AttributeError`, потому что у поверхностей нет атрибута `rect`, который ожидает функция `pygame.sprite.spritecollide`.
Чтобы исправить это, вам нужно создать спрайты из ваших поверхностей и добавить их в соответствующие группы. Например:
1. Создайте спрайт из пустой поверхности и добавьте его в группу:
```python
empty_sprite = pygame.sprite.Sprite()
empty_sprite.image = EMPTY
empty_sprite.rect = empty_sprite.image.get_rect()
empty_sprite.rect.x = 1500
empty_sprite.rect.y = 1000
empty_group =
pygame.sprite.Group ()
empty_group.add(empty_sprite)
```
2. Создайте спрайты из поверхностей в вашем списке и добавьте их в группу `game_sprites`:
```python
game_sprites =
pygame.sprite.Group ()
for sprite, (x, y) in sprites:
game_sprite = pygame.sprite.Sprite()
game_sprite.image = sprite
game_sprite.rect = game_sprite.image.get_rect()
game_sprite.rect.x = x
game_sprite.rect.y = y
game_sprites.add(game_sprite)
```
Теперь вы можете использовать функцию `pygame.sprite.spritecollide` с вашими спрайтами и группами для обнаружения столкновений.
line 287, in move_up
collides = pygame.sprite.spritecollide(empty_sprite[0][0], sprite, True)
default_sprite_collide_func = sprite.rect.colliderect
^^^^^^^^^^^
AttributeError: 'pygame.surface.Surface' object has no attribute 'rect'