Motion Input
feur
Code:
-- motion input -- by ajinis motion_sequence = {} motion_timer = 0 max_motion_time = 30 correct_motion = {⬇️, ➡️} motion_index = 1 input_detected = false result_message = "" message_timer = 60 function _init() reset_motion() end function reset_motion() motion_sequence = {} motion_timer = max_motion_time motion_index = 1 input_detected = false end function detect_motion() local input = nil if btn(⬇️) then input = "down" elseif btn(➡️) then input = "right" elseif btn(⬅️) then input = "left" elseif btn(⬆️) then input = "up" end return input end function _update() if motion_timer > 0 then motion_timer -= 1 else reset_motion()
end if message_timer > 0 then message_timer -= 1 else result_message = "" end local input = detect_motion() if input then motion_sequence[motion_index] = input motion_index += 1 motion_timer = max_motion_time
input_detected = true else input_detected = false end -- verifie la sequance if #motion_sequence == #correct_motion then local success = true for i=1,#correct_motion do if (correct_motion[i] == ⬇️ and motion_sequence[i] ~= "down") or (correct_motion[i] == ➡️ and motion_sequence[i] ~= "right") then success = false break end end if success then -- sequence bonne result_message = "hadouken!" else -- sequence mauvaise result_message = "trop naze." end -- reinisialiser reset_motion() message_timer = 60 -- durれたe du message (1 seconde れき 30 fps) end end function _draw() cls() print("fais un quart de cercle avant", 5, 5) print("(⬇️➡️):") for i=1,#motion_sequence do print(motion_sequence[i], 5, 20 + i*10) end if input_detected then print("input detecte !", 5, 60) else print("aucun input...", 5, 60) end if result_message ~= "" then print(result_message, 5, 80) end print("timer: "..motion_timer, 5, 70) end