flutter_stateless_chessboard 0.0.4 copy "flutter_stateless_chessboard: ^0.0.4" to clipboard
flutter_stateless_chessboard: ^0.0.4 copied to clipboard

outdated

A Chessboard Widget for Flutter. This package provides just the chessboard. The game logic can be implemented using chess library.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_stateless_chessboard/flutter_stateless_chessboard.dart';

import 'utils.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Random Chess App',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  String fen = 'rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1';

  @override
  Widget build(BuildContext context) {
    final size = MediaQuery.of(context).size;

    return Scaffold(
      appBar: AppBar(
        title: Text("Random Chess"),
      ),
      body: Center(
        child: Chessboard(
          fen: fen,
          size: size.width,
          onMove: (move) {
            final nextFen = makeMove(fen, {
              'from': move.from,
              'to': move.to,
              'promotion': 'q',
            });

            if (nextFen != null) {
              setState(() {
                fen = nextFen;
              });

              final nextMove = getRandomMove(fen);

              if (nextMove != null) {
                Future.delayed(Duration(milliseconds: 300)).then((value) {
                  setState(() {
                    fen = makeMove(fen, nextMove);
                  });
                });
              }
            }
          },
        ),
      ),
    );
  }
}
25
likes
0
pub points
70%
popularity

Publisher

unverified uploader

A Chessboard Widget for Flutter. This package provides just the chessboard. The game logic can be implemented using chess library.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

chess, chess_vectors_flutter, flutter

More

Packages that depend on flutter_stateless_chessboard