UNPKG

xchess

Version:

Chess Engine

60 lines (45 loc) 772 B
import {Piece} from './piece.js' export class Wall extends Piece { static get code(){ return 6; } static get char(){ return 'W'; } static get signs(){ return ['🚧', '⛔']; } isCapturable(color, board){ return false; } } export class Token extends Piece { static get code(){ return 7; } static get char(){ return 'T'; } static get signs(){ return ['💎', '🍎']; } } export class Gate extends Piece { static get code(){ return 8; } static get char(){ return 'G'; } static get signs(){ return ['🎯', '🌀']; } isCapturable(color, board){ if(this.color.eq(color)) return false; for(const piece of board.values()) if(Token.is(piece) && piece.color.opposite(color)) return false; return true; } }