diff options
author | Lizzy Hunt <loganhunt@simponic.xyz> | 2023-02-24 15:02:20 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-24 15:02:20 -0700 |
commit | 445af5d0be53375355b9dad02510f6b331fd99ec (patch) | |
tree | c9012d8108d3803bbeb8178163210b482188ff3c /euler-golf/js/controls.js | |
parent | 93c8bbeb6a0b3574cb66c25656e4da6d0b936a66 (diff) | |
download | simponic.xyz-445af5d0be53375355b9dad02510f6b331fd99ec.tar.gz simponic.xyz-445af5d0be53375355b9dad02510f6b331fd99ec.zip |
Euler golf (#1)
Diffstat (limited to 'euler-golf/js/controls.js')
-rw-r--r-- | euler-golf/js/controls.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/euler-golf/js/controls.js b/euler-golf/js/controls.js new file mode 100644 index 0000000..d89c53d --- /dev/null +++ b/euler-golf/js/controls.js @@ -0,0 +1,32 @@ +const directions_modal = new Modal({ + el: document.getElementById("directions-modal"), +}); + +document + .getElementById("controls-container") + .addEventListener("mouseover", () => { + document.getElementById("controls").style.display = "block"; + document.getElementById("expand-show").style.display = "none"; + }); +document + .getElementById("controls-container") + .addEventListener("mouseout", () => { + document.getElementById("controls").style.display = "none"; + document.getElementById("expand-show").style.display = "inline"; + }); + +document.getElementById("reset").addEventListener("click", () => { + state = reset_state(state); + + state.target = rand_target(state.rows, state.cols); +}); + +document.getElementById("solve").addEventListener("click", () => { + if (!cx.eq(state.path.at(-2), new cx(0, 0))) state = reset_state(state); + + state.solution = sol(state.target); +}); + +document + .getElementById("directions") + .addEventListener("click", () => directions_modal.show()); |