if playerHasHitShoot(playerRect, baddieRect):
score = 0
break
That break
will be hit every frame, and immediately go to the 'Game Over' section at the end. I'm guessing you only intended this to happen if playerHasHitShoot
returned true? If so:
if playerHasHitShoot(playerRect, baddieRect):
score = 0
break
It's less clear what the following bit (that's currently never running) is meant to do, but you should check and make sure all your conditional paths are correct:
if baddieHasHitShoot(baddieRect, shoot):
if score > topScore:
score = topscore
break