diff --git a/mapping/main.py b/mapping/main.py index d758913902231c442d3255415d9af430848aa676..2c003db0447057ae808006b7c1fff96f10abfcb3 100644 --- a/mapping/main.py +++ b/mapping/main.py @@ -1,4 +1,5 @@ id = [0,0] +matsize = [0, 0] def display_id(): afficher_texte("{}, {}".format(id[0], id[1]), speed=0.01) @@ -24,16 +25,23 @@ def send_passthrough(msg, x, y): def send_xy(x, y, msg): send_passthrough(msg, x, y) +def send_text_xy(x, y, text, color=ROUGE, speed=0.1): + send_xy(x, y, "TEXT;{};{};{}".format(color, speed, text)) + +def send_moving_xy(x, y, text, color=ROUGE, speed=0.1): + send_xy(x, y, "MOVING;{};{};{}".format(color, speed, text)) + + def check_presence(d): envoyer_msg(d, "PING") - time.sleep(0.05) - ret = recevoir_msg(d) - print("checking pres for {} : {}".format(d, ret)) + for x in range(10): + time.sleep(0.1) + ret = recevoir_msg(d) - if ret == b"": return False + if ret == b"PONG": return True - return True + return False def update_id(new_id): @@ -52,6 +60,8 @@ def update_id(new_id): def handle_receive(msg, d): + print("Received from {} : {}".format(d, msg)) + if msg.startswith("SET_ID"): tmp_id = msg[7:].split(",") update_id(tmp_id) @@ -63,9 +73,9 @@ def handle_receive(msg, d): display_id() elif msg.startswith("PT;"): - print(msg) msgs = msg.split(";") - m = msgs[2] + m = msgs[2:] + m = ";".join(m) x, y = msgs[1].split(",") x = int(x) @@ -77,12 +87,33 @@ def handle_receive(msg, d): send_passthrough(m, x, y) + elif msg.startswith("MATSIZE"): + x, y = msg.split(":")[-1].split(",") + print("Matsize : {} {}".format(x, y)) + matsize = [int(x), int(y)] + + elif msg.startswith("TEXT"): + msgs = msg.split(";") + color = int(msgs[1]) + speed = float(msgs[2]) + afficher_texte(msgs[3], color, speed) + elif msg.startswith("MOVING"): + msgs = msg.split(";") + color = int(msgs[1]) + speed = float(msgs[2]) + text = msgs[3] + time.sleep(speed * 11) + send_moving_xy(id[0] - 1, id[1], text, color=color, speed=speed) + afficher_texte(text, color, speed) -# Main + +# send_text_xy(1,0,text,speed=speed);time.sleep(speed*13);afficher_texte(text,speed=speed) + +# Main afficher_texte("Ready", VERT, speed=0.01) while True: