Skip to content

alanent/material-chessboard

Repository files navigation

Material Chessboard

Ce projet est une démonstration de la librairie ngx-chess-board.

Comment lancer l'application

  1. Installer les dépendances

    Exécutez la commande suivante pour installer toutes les dépendances nécessaires :

    npm install
  2. Démarrer le serveur de développement

    Exécutez la commande suivante pour démarrer l'application :

    ng serve

    Ouvrez votre navigateur et allez à l'adresse http://localhost:4200/. L'application se rechargera automatiquement si vous modifiez un des fichiers sources.

À propos de ngx-chess-board

ngx-chess-board est un projet qui permet d'ajouter un jeu d'échecs pour deux joueurs sur votre site. Pour plus d'informations sur la librairie, veuillez consulter le README original ci-dessous.


README original de ngx-chess-board

ngx-chess-board

npm CircleCI

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

alt scr alt scr

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published