From fd03fe7ca582b524295742ea3af3d649ead7ebd8 Mon Sep 17 00:00:00 2001 From: satr14 Date: Sat, 25 Jul 2026 16:55:43 +0700 Subject: [PATCH] piece display change and move constant to types.ts --- src/lib/chess/types.ts | 32 ++++++++++++++++++++++++++++++++ src/lib/chess/utils.ts | 20 +------------------- src/routes/+page.svelte | 3 ++- static/assets/{12.svg => B.svg} | 0 static/assets/{9.svg => K.svg} | 0 static/assets/{13.svg => N.svg} | 0 static/assets/{14.svg => P.svg} | 0 static/assets/{10.svg => Q.svg} | 0 static/assets/{11.svg => R.svg} | 0 static/assets/{20.svg => b.svg} | 0 static/assets/{17.svg => k.svg} | 0 static/assets/{21.svg => n.svg} | 0 static/assets/{22.svg => p.svg} | 0 static/assets/{18.svg => q.svg} | 0 static/assets/{19.svg => r.svg} | 0 15 files changed, 35 insertions(+), 20 deletions(-) rename static/assets/{12.svg => B.svg} (100%) rename static/assets/{9.svg => K.svg} (100%) rename static/assets/{13.svg => N.svg} (100%) rename static/assets/{14.svg => P.svg} (100%) rename static/assets/{10.svg => Q.svg} (100%) rename static/assets/{11.svg => R.svg} (100%) rename static/assets/{20.svg => b.svg} (100%) rename static/assets/{17.svg => k.svg} (100%) rename static/assets/{21.svg => n.svg} (100%) rename static/assets/{22.svg => p.svg} (100%) rename static/assets/{18.svg => q.svg} (100%) rename static/assets/{19.svg => r.svg} (100%) diff --git a/src/lib/chess/types.ts b/src/lib/chess/types.ts index 1abd471..44e147d 100644 --- a/src/lib/chess/types.ts +++ b/src/lib/chess/types.ts @@ -9,4 +9,36 @@ export enum Piece { WHITE = 8, BLACK = 16, +} + +export const CHAR_TO_PIECE: Record = { + "-": Piece.EMPTY, + "K": Piece.WHITE | Piece.KING, + "Q": Piece.WHITE | Piece.QUEEN, + "R": Piece.WHITE | Piece.ROOK, + "B": Piece.WHITE | Piece.BISHOP, + "N": Piece.WHITE | Piece.KNIGHT, + "P": Piece.WHITE | Piece.PAWN, + "k": Piece.BLACK | Piece.KING, + "q": Piece.BLACK | Piece.QUEEN, + "r": Piece.BLACK | Piece.ROOK, + "b": Piece.BLACK | Piece.BISHOP, + "n": Piece.BLACK | Piece.KNIGHT, + "p": Piece.BLACK | Piece.PAWN, +}; + +export const PIECE_TO_CHAR: Record = { + [Piece.EMPTY]: "-", + [Piece.WHITE | Piece.KING]: "K", + [Piece.WHITE | Piece.QUEEN]: "Q", + [Piece.WHITE | Piece.ROOK]: "R", + [Piece.WHITE | Piece.BISHOP]: "B", + [Piece.WHITE | Piece.KNIGHT]: "N", + [Piece.WHITE | Piece.PAWN]: "P", + [Piece.BLACK | Piece.KING]: "k", + [Piece.BLACK | Piece.QUEEN]: "q", + [Piece.BLACK | Piece.ROOK]: "r", + [Piece.BLACK | Piece.BISHOP]: "b", + [Piece.BLACK | Piece.KNIGHT]: "n", + [Piece.BLACK | Piece.PAWN]: "p", } \ No newline at end of file diff --git a/src/lib/chess/utils.ts b/src/lib/chess/utils.ts index 9bd39e1..90acea8 100644 --- a/src/lib/chess/utils.ts +++ b/src/lib/chess/utils.ts @@ -1,24 +1,6 @@ -import { Piece } from "./types"; - -// export function fen2array(fen: string): Int8Array { -// } +import { CHAR_TO_PIECE, Piece } from "./types"; export const startFEN = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0"; -const CHAR_TO_PIECE: Record = { - "-": Piece.EMPTY, - "K": Piece.WHITE | Piece.KING, - "Q": Piece.WHITE | Piece.QUEEN, - "R": Piece.WHITE | Piece.ROOK, - "B": Piece.WHITE | Piece.BISHOP, - "N": Piece.WHITE | Piece.KNIGHT, - "P": Piece.WHITE | Piece.PAWN, - "k": Piece.BLACK | Piece.KING, - "q": Piece.BLACK | Piece.QUEEN, - "r": Piece.BLACK | Piece.ROOK, - "b": Piece.BLACK | Piece.BISHOP, - "n": Piece.BLACK | Piece.KNIGHT, - "p": Piece.BLACK | Piece.PAWN, -}; export class Board { public board = new Int8Array(8 ** 2); diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index e873a34..3ac01ec 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,4 +1,5 @@