From af9db046cf5162d5043288c79b29bd2c74bd6027 Mon Sep 17 00:00:00 2001 From: Lukian Date: Thu, 23 Jan 2025 15:50:19 +0100 Subject: [PATCH 1/3] added two states for the player --- letter_display.lua | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/letter_display.lua b/letter_display.lua index 441ccd6..c3874f4 100644 --- a/letter_display.lua +++ b/letter_display.lua @@ -1,6 +1,5 @@ client = mqtt.client("Player", "mqtt.leizour.fr", 8883, true) client:connect("student", "O99Rq8$F12NXzhL5caya") - -- CLK (clock) : D15 -- DT (data) : D2 -- SW (Bouton): D4 @@ -8,23 +7,41 @@ client:connect("student", "O99Rq8$F12NXzhL5caya") -- counter = nombre de cran tourner -- button = bouton poussoir +playing = false mot = "" last_clicked = 0 function action(dir, counter, button) cls() lettre = string.char((counter % 26)+65) if button==1 then - if os.time() - last_clicked > 1 then - mot = mot..lettre - last_clicked = os.time() - else - client:publish("pendu/mot", mot, mqtt.QOS0) - mot = "" + if playing then + client:publish("pendu/lettre", lettre, mqtt.QOS0) + else + if os.time() - last_clicked > 1 then + mot = mot..lettre + last_clicked = os.time() + else + client:publish("pendu/mot", mot, mqtt.QOS0) + mot = "" + end end end console("Choix lettre : "..lettre) - console("Mot : "..mot) + if not playing then + console("Mot : "..mot) + end end +function handle_message(len, message, topic_len, topic_name) + if topic_name == "pendu/gamestate" then + if message == "PLAYING" then + playing = true + elseif message == "WAITING" then + playing = false + end + end +end + +client:subscribe("pendu/gamestate", mqtt.QOS0, handle_message) enc = encoder.attach(pio.GPIO15, pio.GPIO2, pio.GPIO4, action) From d48a33f457756c9fe21cb14b77b8f74f1a4b8c2e Mon Sep 17 00:00:00 2001 From: Lukian Date: Thu, 23 Jan 2025 15:51:28 +0100 Subject: [PATCH 2/3] reset the word on new game state --- letter_display.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/letter_display.lua b/letter_display.lua index c3874f4..be4e6c3 100644 --- a/letter_display.lua +++ b/letter_display.lua @@ -38,6 +38,7 @@ function handle_message(len, message, topic_len, topic_name) playing = true elseif message == "WAITING" then playing = false + mot = "" end end end From f929cabd4e4d870ca452bc35d56d7baacf2f1efd Mon Sep 17 00:00:00 2001 From: Lukian Date: Thu, 23 Jan 2025 15:56:13 +0100 Subject: [PATCH 3/3] ouais --- letter_display.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/letter_display.lua b/letter_display.lua index be4e6c3..40a3369 100644 --- a/letter_display.lua +++ b/letter_display.lua @@ -4,7 +4,7 @@ client:connect("student", "O99Rq8$F12NXzhL5caya") -- DT (data) : D2 -- SW (Bouton): D4 -- dir = direction de tournage de l'encodeur --- counter = nombre de cran tourner +-- counter = nombre de crans tournés -- button = bouton poussoir playing = false