From fba7bf1c99e384e3a0a3b33452ddba6dbd2ef2ca Mon Sep 17 00:00:00 2001 From: Daniel Bulant Date: Thu, 19 Jan 2023 19:16:57 +0100 Subject: [PATCH] clean, working singleplayer --- client/src/lib/game.svelte | 260 ++++++++++++++++-- client/src/lib/move.svelte | 44 +++ .../{test => singleplayer}/+page.svelte | 0 3 files changed, 274 insertions(+), 30 deletions(-) create mode 100644 client/src/lib/move.svelte rename client/src/routes/{test => singleplayer}/+page.svelte (100%) diff --git a/client/src/lib/game.svelte b/client/src/lib/game.svelte index d5f402d..613b420 100644 --- a/client/src/lib/game.svelte +++ b/client/src/lib/game.svelte @@ -1,4 +1,6 @@ -
-
+ + + + + + + + +
+ + + + + +
+ +
+
{#each classes as className, i} -
+
{#each (new Array(9)) as _, j} -
console.log(i, j)} on:mouseover={() => hoveredPiece = { i, j }} on:mouseleave={() => { if(hoveredPiece?.i == i && hoveredPiece.j == j) hoveredPiece = null; }}> - {#if moves.find(move => move.i == i && move.j == j)} - {#if moves.find(move => move.i == i && move.j == j)?.p == 1} + {@const move = moves.find(move => move.i == i && move.j == j)} +
addMove(i, j)} class="square" class:move class:preview={!move} class:cross={move && move.p==1} class:circle={move && move.p==2} on:mouseover={() => hoveredPiece = { i, j }} on:mouseleave={() => { if(hoveredPiece?.i == i && hoveredPiece.j == j) hoveredPiece = null; }}> + {#if move} + {#if move.p == 1} - - + + {:else} - + + + {/if} + {:else} + {#if currentPlayer == 1} + + + + + {:else} + + {/if} {/if}
{/each} + + {#if containerStates[i] == 1} +
+ + + + +
+ {:else if containerStates[i] == 2} +
+ + + +
+ {:else if containerStates[i] == 3} +
+ + + + + +
+ {/if}
{/each} + + {#if overallState == 1} +
+ + + + +
+ {:else if overallState == 2} +
+ + + +
+ {:else if overallState == 3} +
+ + + + + +
+ {/if}
-
- {#each moves as move} -
{move.p == 1 ? "X" : "O"} B{move.i} #{move.j}
- {/each} +
+
+ {#each moves as move} + + {/each} + +
-
- -
\ No newline at end of file diff --git a/client/src/routes/test/+page.svelte b/client/src/routes/singleplayer/+page.svelte similarity index 100% rename from client/src/routes/test/+page.svelte rename to client/src/routes/singleplayer/+page.svelte