flutter_chess_board

A Chessboard Widget for Flutter. The widget maintains game state and gives callbacks for game events like moves, checkmate and draws. This widget is still in active development.

alt text

Import the package

To use this package, add chess_board as a dependency in your pubspec.yaml

Example

    import 'package:flutter/material.dart';
    import 'package:flutter_chess_board/flutter_chess_board.dart';
    
    void main() {
      runApp(
        new MaterialApp(
          home: new Scaffold(
            body: new Center(
              child: ChessBoard(
                size: 200.0,
                onMove: (move) {
                  print(move);
                },
                onCheckMate: (color) {
                  print(color);
                },
                onDraw: () {
                  print("DRAW!");
                },
              ),
            ),
          ),
        ),
      );
    }

Board parameters:

size:

Gives length and width of chess board

onMove:

Callback for when a move is made. Returns a move as a string. E.g.: "Nf4"

onDraw:

Callback for when game becomes a draw.

onCheckMate:

Callback for when a player checkmates the other. Returns the color of the winner.

whiteSideTowardsUser:

Defines if white or black side faces user. The player is white by default(true). If set to false, black faces the user.

controller

Defines the ChessBoardController for the widget for changing the board programmatically.

enableUserMoves

Disables user moves when set to false.

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing package code, view the documentation.

Libraries

chess_board

Dart

dart:ui
Built-in types and core primitives for a Flutter application. [...]

Core

dart:async
Support for asynchronous programming, with classes such as Future and Stream. [...]
dart:collection
Classes and utilities that supplement the collection support in dart:core. [...]
dart:convert
Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
dart:core
Built-in types, collections, and other core functionality for every Dart program. [...]
dart:developer
Interact with developer tools such as the debugger and inspector. [...]
dart:math
Mathematical constants and functions, plus a random number generator. [...]
dart:typed_data
Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]

VM

dart:io
File, socket, HTTP, and other I/O support for non-web applications. [...]
dart:isolate
Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]