How to prevent two sprites from overlapping after random repositioning?

Thanks for your reply.
I’ve fixed it this way at the moment.

def on_on_overlap(sprite2, otherSprite2):
    info.change_life_by(-1)
    safe_place_sprites()
sprites.on_overlap(SpriteKind.player, SpriteKind.enemy, on_on_overlap)

def on_on_overlap2(sprite, otherSprite):
    info.change_score_by(1)
    info.start_countdown(3)
    safe_place_sprites()
sprites.on_overlap(SpriteKind.player, SpriteKind.food, on_on_overlap2)

def safe_place_sprites():
    global max_attempts
    max_attempts = 50
    for index in range(max_attempts):
        pizza.set_position(randint(0, scene.screen_width() - pizza.width),
            randint(0, scene.screen_height() - pizza.height))
        eten_vis.set_position(randint(0, scene.screen_width() - eten_vis.width),
            randint(0, scene.screen_height() - eten_vis.height))
        if not (pizza.overlaps_with(eten_vis)) and not (pizza.overlaps_with(mySprite)) and not (eten_vis.overlaps_with(mySprite)):
            break
1 Like