| import { Chess } from "chess.js"; |
|
|
| export class ChessModified extends Chess { |
| constructor(obj) { |
| if (obj) { |
| super(obj); |
| } else { |
| super(); |
| } |
| this.selected = null; |
| } |
|
|
| select(square) { |
| let piece = this.get(square); |
| if (piece) { |
| this.selected = square; |
| } |
| } |
| convertRowColToLAN(row, col) { |
| const letters = ["a", "b", "c", "d", "e", "f", "g", "h"]; |
| const letter = letters[col]; |
| const number = 8 - row; |
| return letter + number; |
| } |
|
|
| getBoard() { |
| let board = this.board(); |
| for (let i = 0; i < board.length; i++) { |
| for (let j = 0; j < board[i].length; j++) { |
| if (board[i][j] === null) { |
| let square = this.convertRowColToLAN(i, j); |
| board[i][j] = { square }; |
| } |
| } |
| } |
| return board; |
| } |
|
|
| getMoves(square) { |
| let moves = this.moves({ square, verbose: true }); |
| let newMoves = []; |
| for (let i = 0; i < moves.length; i++) { |
| newMoves.push(moves[i].to); |
| } |
| return newMoves; |
| } |
| } |
|
|
| export let chess = new ChessModified(); |
|
|
| export function chessInit() { |
| return new ChessModified(); |
| } |
|
|