[[fetch]] files = [ "./main.py", "./player.py", "./timer.py", "./hand.py", "./target.py" ] from pyodide.ffi import create_proxy from main import * from js import localStorage def run(*args): draw() p5.requestAnimationFrame(create_proxy(run)) p5.keyPressed = create_proxy(keyPressed) p5.keyReleased = create_proxy(keyReleased) p5.mousePressed = create_proxy(mousePressed) p5.mouseReleased = create_proxy(mouseReleased) def save_code(): text = js.document.getElementsByClassName("cm-content")[0].innerText localStorage.setItem("code", text) def load_code(): if localStorage.getItem("code"): code_text = localStorage.getItem("code") js.document.getElementsByClassName("cm-content")[0].innerText = code_text def reload_sketch(): setup() # re-run setup # (re-)position the code element to the right of canvas: code_element = Element("code").element p5_element = Element("defaultCanvas0").element code_element.style.left = str(p5_element.clientWidth + 20) + 'px' code_element.style.width = f'calc(100% - {p5_element.clientWidth + 30}px)' setup() run()

Put your left ring finger on A

Put your left middle finger on W and S

Put your left index finger on D

Press D to move left hand fingers

to match the finger targets

Press SPACE to start game

Press ESC to return home

Put your right ring finger

on mouseleftbutton

Put your right middle finger

on mouserightbutton

Move and click on each button

to match the cursor target




There will be 4 targets in total

Left ring finger

Left middle finger

Left index finger

A cursor


Every finger has its special movement pattern

When fingers match targets

the nail will turn blue

When the cursor matches the target

the cursor will turn green

Try to match all 4 targets in time

Regardless of the order

Designed by Yixin Chen