diff options
author | nil <niljo@airmail.cc> | 2024-12-12 18:20:22 +0100 |
---|---|---|
committer | nil <niljo@airmail.cc> | 2024-12-12 18:20:22 +0100 |
commit | 16e02376e2273eeb25a6461f84641e96a485f652 (patch) | |
tree | 64a1deee7d8fdfda0a75475642364fc1ba4d8500 /src/engine/turns.js | |
parent | 8a49fc718cbfebe593d18dcf37fef2a19f3aa570 (diff) |
add legal movements and organize
Diffstat (limited to 'src/engine/turns.js')
-rw-r--r-- | src/engine/turns.js | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/engine/turns.js b/src/engine/turns.js index 7026dcc..6a5e6fb 100644 --- a/src/engine/turns.js +++ b/src/engine/turns.js @@ -2,14 +2,19 @@ import { board } from "../board.js" import { Vector2 } from "../engine/visual/vector2.js" import { Link } from "../link.js" import { PLAYER } from "../constants.js" +import { isMoveLegal } from "../engine/moves.js" -export let turn = "" +export let playerTurn = "" export function nextTurn() { - turn = turn == PLAYER.BLACK ? PLAYER.WHITE : PLAYER.BLACK + changeTurn() placeLinks() } +function changeTurn() { + playerTurn = playerTurn == PLAYER.BLACK ? PLAYER.WHITE : PLAYER.BLACK +} + function placeLinks() { resetLink() board.links = [...Array(board.size)].map(_ => Array(board.size)) @@ -22,13 +27,22 @@ function placeLinks() { function resetLink() { Array.from(board.links).forEach(x => { - Array.from(x).filter((x) => x !== undefined).map(y => { - y.removeLink() - }) + Array.from(x) + .filter((x) => x !== undefined) + .map(y => { + y.removeLink() + }) }) } function tryLink(position) { + if (!isMoveLegal({ + position: position, + team: playerTurn + })) { + return + } + new Link({ position: position, }) |