diff --git a/src/lib/chess/utils.ts b/src/lib/chess/utils.ts index c597548..ca00f08 100644 --- a/src/lib/chess/utils.ts +++ b/src/lib/chess/utils.ts @@ -3,41 +3,46 @@ import { Piece } from "./types"; // export function fen2array(fen: string): Int8Array { // } -export const startFEN = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0"; -const CHAR_TO_PIECE: Record = { - "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); - public details = { - turn: "w", - castling: { - white: { king: true, queen: true }, - black: { king: true, queen: true }, - }, - enPassant: -1, - halfMove: 0, - fullMove: 0, - }; + public board: Int8Array; constructor() { - this.loadFEN(); - } + const board = new Int8Array(8**2); + board[0] = Piece.WHITE | Piece.ROOK; + board[1] = Piece.WHITE | Piece.KNIGHT; + board[2] = Piece.WHITE | Piece.BISHOP; + board[3] = Piece.WHITE | Piece.QUEEN; + board[4] = Piece.WHITE | Piece.KING; + board[5] = Piece.WHITE | Piece.BISHOP; + board[6] = Piece.WHITE | Piece.KNIGHT; + board[7] = Piece.WHITE | Piece.ROOK; + board[8] = Piece.WHITE | Piece.PAWN; + board[9] = Piece.WHITE | Piece.PAWN; + board[10] = Piece.WHITE | Piece.PAWN; + board[11] = Piece.WHITE | Piece.PAWN; + board[12] = Piece.WHITE | Piece.PAWN; + board[13] = Piece.WHITE | Piece.PAWN; + board[14] = Piece.WHITE | Piece.PAWN; + board[15] = Piece.WHITE | Piece.PAWN; - loadFEN(fen = startFEN) { - const [position, turn, castling, enPassant, halfMove, fullMove] = fen.split(" "); - - + board[48] = Piece.BLACK | Piece.PAWN; + board[49] = Piece.BLACK | Piece.PAWN; + board[50] = Piece.BLACK | Piece.PAWN; + board[51] = Piece.BLACK | Piece.PAWN; + board[52] = Piece.BLACK | Piece.PAWN; + board[53] = Piece.BLACK | Piece.PAWN; + board[54] = Piece.BLACK | Piece.PAWN; + board[55] = Piece.BLACK | Piece.PAWN; + board[56] = Piece.BLACK | Piece.ROOK; + board[57] = Piece.BLACK | Piece.KNIGHT; + board[58] = Piece.BLACK | Piece.BISHOP; + board[59] = Piece.BLACK | Piece.QUEEN; + board[60] = Piece.BLACK | Piece.KING; + board[61] = Piece.BLACK | Piece.BISHOP; + board[62] = Piece.BLACK | Piece.KNIGHT; + board[63] = Piece.BLACK | Piece.ROOK; + + this.board = board; + return this; } } \ No newline at end of file diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts deleted file mode 100644 index a3d1578..0000000 --- a/src/routes/+layout.ts +++ /dev/null @@ -1 +0,0 @@ -export const ssr = false; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index bd4c54e..4225948 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,9 +1,8 @@
@@ -11,18 +10,14 @@
- {#if square}p{square}{/if} + {#if square}{square}{/if} {showIndex ? index : ''}
{/each}
-
\ No newline at end of file