Процесс поиска ошибок называется "
отладка". Как программист, вы первым делом должны овладеть этим навыком. И не важно, начинающий вы или нет.
В программировании вообще, в частности в языке Python, и уж тем более в игровом движке Pygame, удобно использовать консоль для вывода отладочной информации, а именно функцию
print().
Я не буду, да и не смогу заниматься отладкой через ответы на этом ресурсе. Это ваша задача. Здесь иногда можно встретить телепатов и ясновидцев, но только в простых очевидных вопросах, где три строчки кода. Но с отладкой справитесь только вы. Потому что по сути это метод проб и ошибок. Нужно проверять, проверять, проверять, ставить эксперименты, пока ошибка не будет локализована.
Пример того, как можно было бы сделать отладку через консоль в вашем случае:
for bullet in bullets:
print("lastmove:", lastmove)
if bullet.x > 0 and bullet.x < 1920:
if lastmove == 1 or lastmove == 2:
bullet.x += bullet.speed
if lastmove == 3 or lastmove == 4:
bullet.y += bullet.speed
if bullet.x < 0 or bullet.x >1920:
print("bullets.pop!!!")
bullets.pop(bullets.index(bullet))
Но где, что и как вы будете проверять - вам решать.