def update():
global jump_counter, game_active, begin, PAUSE
if not game_active:
return
if random.randint(0, 100) <= 3 and time.time() - begin >= PAUSE:
create_enemy()
begin = time.time()
for enemy in enemies:
enemy.x -= ENEMY_SPEED
if enemy.x < 0:
enemies.remove(enemy)
if 0 < jump_counter <= JUMP_HEIGHT or (keyboard.space and player.y == START_Y):
player.y -= JUMP_SPEED
jump_counter += 1
elif jump_counter > JUMP_HEIGHT:
jump_counter = 0
elif player.y < START_Y:
player.y += JUMP_SPEED
for enemy in enemies:
enemy: Actor
enemy_rect = Rect(enemy.x, enemy.y, ENEMY_W, ENEMY_H)
player_rect = Rect(player.x, player.y, PLAYER_W, PLAYER_H)
if player_rect.colliderect(enemy_rect):
game_active = False
break