From 9032a40b2489eec25d1403779e8ac45f5873179d Mon Sep 17 00:00:00 2001 From: satr14 Date: Sat, 25 Jul 2026 16:41:01 +0700 Subject: [PATCH] algebraic to index func --- src/lib/chess/utils.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/lib/chess/utils.ts b/src/lib/chess/utils.ts index 6f2e7f8..c5aca34 100644 --- a/src/lib/chess/utils.ts +++ b/src/lib/chess/utils.ts @@ -50,4 +50,20 @@ export class Board { }); }); } +} + +function algebraicToIndex(algebraic: string): number { + const FILE_TO_INDEX: Record = { + a: 0, b: 1, c: 2, d: 3, e: 4, f: 5, g: 6, h: 7, + } + try { + if (algebraic.length !== 2) return -1; + const [file, rank] = algebraic.split(""); + const rankIndex = parseInt(rank) - 1; + const fileIndex = FILE_TO_INDEX[file]; + + return rankIndex * 8 + fileIndex; + } catch { + return -1; + } } \ No newline at end of file