ngx-chess-board
v3.0.0
Published
Chess game component
Downloads
327
Readme
ngx-chess-board
ngx-chess-board is a project which allows to add chess game for two players on your site.
Instalation
npm i ngx-chess-board
Demo
See demo version
Screenshots
Use example
ngx-chess-board
exports following components:
NgxChessBoardModule
NgxChessBoardService
NgxChessBoardView
To start, you have to import the NgxChessBoardModule
:
import { NgxChessBoardModule } from "ngx-chess-board";
...
@NgModule({
...
imports: [
...
NgxChessBoardModule.forRoot()
...
],
...
})
export class AppModule { }
Next, add following tag in your component's view to render the chess board:
<ngx-chess-board></ngx-chess-board>
Then you can inject NgxChessBoardService into your component:
import {NgxChessBoardService} from 'ngx-chess-board';
...
constructor(private ngxChessBoardService: NgxChessBoardService) { }
You can add reference to NgxChessBoardView
to interact with specified chess board:
HTML file:
<ngx-chess-board #board></ngx-chess-board>
.ts file:
import {NgxChessBoardView} from 'ngx-chess-board';
...
@ViewChild('board', {static: false}) board: NgxChessBoardView;
...
reset() {
this.board.reset();
}
...
API
@Inputs()
Input | Type | Description
| :---: | :---: | :---: |
[size]
| number | Sets size of the chess board (in pixels). Default value is 400. Size must be in range between 100-4000.
[lightTileColor]
| string | Sets color of light tiles. Accepts predefined color names, RGB, HEX, HSL.
[darkTileColor]
| string | Sets color of dark tiles. Accepts predefined color names, RGB, HEX, HSL.
[showCoords]
| boolean | Sets visibility of coordination bar. Default value is true
[sourcePointColor]
| string | Sets background color for the source box from where the piece is moved.
[destinationPointColor]
| string | Sets background color for the destination box where the piece is dropped.
[showLastMove]
| boolean | Specifies whether the last move should be highlighted or not.
[showLegalMoves]
| boolean | Specifies whether the legal moves should be highlighted or not.
[dragDisabled]
| boolean | Specifies whether piece dragging is disabled. Default value is false
[drawDisabled]
| boolean| Specifies whether drawing with right mouse button is disabled. Default value is false
[lightDisabled]
| boolean | Specifies whether light pieces are disabled to move. Default value is false
[darkDisabled]
| boolean | Specifies whether dark pieces are disabled to move. Default value is false[pieceIcons]
| PieceIconInput | Sets custom piece icons. Accepts SVG, IMG. Default the ASCII icons are used.
[freeMode]
| boolean | Sets the board in free mode. In this mode pieces can be moved freely, even to tiles that aren't in possible moves or possible captures.
[showActivePiece]
| boolean | Specifies whether active piece clicked has to be highlighted. Default value is true
[showPossibleCaptures]
| boolean | Specifies whether possible captures have to be highlighted. Default value is true
Outputs
Name | Type | Description
| :---: | :---: | :---: |
(moveChange)
| EventEmitter<any> | Dispatch event when piece has moved
NgxChessBoardView methods
Method | Return type | Description | :---: | :---: | :---: | reset() | void | Resets specified chess game reverse() | void | Reverse specified chess board undo() | void | Undo the last move getMoveHistory() | JSON | Returns array in JSON format which contains information about every move setFEN(fen: string) | void | Allows to import specified board position by FEN getFEN() | string | Returns current board FEN position move(coords: string) | void | Makes move by specified coords. The coords parameter contains source and destination position e.g. 'd2d4'. addPiece(pieceTypeInput: PieceTypeInput, colorInput: ColorInput, coords: string) | void | Adds new piece to the board at specified square, e.g. 'd4'. Left click on a piece with control removes piece. Free mode must be enabled first. setPGN(coords:string) | void | Imports board position in PGN notation getPGN() | string | Returns current board position in PGN notation