summaryrefslogtreecommitdiff
path: root/euler-golf/js/controls.js
blob: d89c53de19cee9eae47d3812aec06b6bacfb58a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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());