From a8009f744d6ba53213a4726321bcbd7de86b8e61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pascal=20Eng=C3=A9libert?= Date: Sat, 17 Feb 2024 13:37:55 +0100 Subject: [PATCH] remove_objects --- game.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/game.py b/game.py index 7ad3e41..ac244ba 100644 --- a/game.py +++ b/game.py @@ -105,6 +105,14 @@ def send_all(msg): for oid in players: sock.send(msg, objects[oid].address) +def remove_objects(): + for oid in removable: + if oid in objects: + objects.pop(oid) + if oid in players: + players.pop(oid) + removable.clear() + sock.send(json.dumps({"type":"join","pos":me.pos,"color":me.color,"port":address[1],"oid":me.oid}), ["192.168.0.255", 33033]) sock.send(json.dumps({"type":"join","pos":me.pos,"color":me.color,"port":address[1],"oid":me.oid}), ["127.0.0.1", 33033]) @@ -173,10 +181,11 @@ while True: objects[player["oid"]] = Player(player["oid"], address, player["pos"], player["color"]) players[player["oid"]] = objects[player["oid"]] elif r["type"] == "quit": - players.pop(r["oid"]) - objects.pop(r["oid"]) + removable.append(r["oid"]) elif r["type"] == "stab": objects[r["oid"]].stab() + + remove_objects() screen.fill(black) @@ -187,12 +196,7 @@ while True: obj.draw(screen) obj.print_debug(lines) - for oid in removable: - if oid in objects: - objects.pop(oid) - if oid in players: - players.pop(oid) - removable = [] + remove_objects() xlog.display(screen, lines)