implement possible jumps

master
Peter Babič 3 years ago
parent d08bcd28dc
commit 255fc6a3d1
Signed by: peter.babic
GPG Key ID: 4BB075BC1884BA40
  1. 81
      src/App.svelte

@ -4,37 +4,66 @@
<script>
const numVertices = 15
const graph = new Graph()
let states = []
const adjacents = new Graph()
const jumps = new Graph()
let emptys = []
for (let i = 0; i < numVertices; i++) {
states[i] = false
graph.addVertex(i)
emptys[i] = false
adjacents.addVertex(i)
jumps.addVertex(i)
if (i > 0) {
graph.addEdge(i, i - 1)
adjacents.addEdge(i, i - 1)
}
}
graph.addEdge(0, 8)
graph.addEdge(1, 7)
graph.addEdge(1, 8)
graph.addEdge(2, 6)
graph.addEdge(2, 7)
graph.addEdge(3, 5)
graph.addEdge(3, 6)
graph.addEdge(5, 11)
graph.addEdge(6, 10)
graph.addEdge(6, 11)
graph.addEdge(7, 9)
graph.addEdge(7, 10)
graph.addEdge(9, 13)
graph.addEdge(10, 12)
graph.addEdge(10, 13)
graph.addEdge(12, 14)
emptys[0] = true
emptys[9] = true
adjacents.addEdge(0, 8)
adjacents.addEdge(1, 7)
adjacents.addEdge(1, 8)
adjacents.addEdge(2, 6)
adjacents.addEdge(2, 7)
adjacents.addEdge(3, 5)
adjacents.addEdge(3, 6)
adjacents.addEdge(5, 11)
adjacents.addEdge(6, 10)
adjacents.addEdge(6, 11)
adjacents.addEdge(7, 9)
adjacents.addEdge(7, 10)
adjacents.addEdge(9, 13)
adjacents.addEdge(10, 12)
adjacents.addEdge(10, 13)
adjacents.addEdge(12, 14)
jumps.addEdge(0, 2)
jumps.addEdge(0, 9)
jumps.addEdge(1, 3)
jumps.addEdge(1, 10)
jumps.addEdge(2, 4)
jumps.addEdge(2, 9)
jumps.addEdge(2, 11)
jumps.addEdge(3, 10)
jumps.addEdge(4, 11)
jumps.addEdge(5, 7)
jumps.addEdge(5, 12)
jumps.addEdge(6, 8)
jumps.addEdge(6, 13)
jumps.addEdge(7, 12)
jumps.addEdge(8, 13)
jumps.addEdge(9, 11)
jumps.addEdge(9, 14)
jumps.addEdge(11, 14)
const change = num => {
console.log(num, graph.adjacencyList[num])
const indices = [...emptys.keys()].filter(i => emptys[i])
console.log(
num,
jumps.adjacencyList[num].filter(v => indices.includes(v))
)
}
</script>
@ -102,17 +131,17 @@
text-align: center;
}
.green {
background-color: green;
.gray {
background-color: gray;
}
</style>
<main>
<div class="triangle">
{#each states as _, i}
{#each emptys as _, i}
<div
class="circle div{i}"
class:green={states[i]}
class:gray={emptys[i]}
on:click={() => change(i)}>
{i}
</div>

Loading…
Cancel
Save