added even more

This commit is contained in:
= 2025-01-23 16:52:56 +01:00
parent b7c32efdbc
commit 2c04b39f3c

View file

@ -17,6 +17,7 @@ client:connect("student", password)
playing = false
won = false
lives = 10
word = ""
letters_played = ""
@ -34,8 +35,31 @@ function draw_ui()
end
end
function update_victory()
function is_won()
for i=1, #word do
if not was_already_played(word[i]) then
return false
end
end
return true
end
function was_already_played(l)
for i=1, #letters_played do
if letters_played[i] == l then
return true
end
end
return false
end
function is_in_word(l)
for i=1, #word do
if word[i] == l then
return true
end
end
return false
end
function broadcast_state()
@ -71,9 +95,33 @@ function handle_letter(len, message, topic_len, topic_name)
if topic_name != "pendu/letter" or not playing then
return
end
if was_already_played(message) then
draw_ui()
console(message .. " a déjà été joué.")
return
end
letters_played = letters_played .. message
update_victory()
if not is_in_word(message) then
lives = lives - 1
if lives == 0 then
playing = false
broadcast_state()
draw_ui()
return
end
draw_ui()
console(message .. " ne fait pas partie du mot...")
return
end
if not is_won() then
draw_ui()
console(message .. " trouvé ! Bien joué !")
return
end
won = true
playing = false
broadcast_state()
draw_ui()
end
client:subscribe("pendu/letter", mqtt.QOS0, handle_letter)
client:subscribe("pendu/letter", mqtt.QOS0, handle_letter)