A Smart Chessboard Project Built With Flutter And Python

Smart Chessboard

Overview

For our project we would like to use a mix of AI and embedded systems. A brief summary of our idea is a smart chessboard (physical) that highlights your possible moves using LEDs, allows you to receive an AI recommended computer move (the most optimal move for that turn), flashes red when making an illegal move, and allows you to play against AI of various difficulties. We need to make sure our chess engine is accurate to ensure the user is making the moves they want to make. Speed is also a constraint to ensure the moves do not take long to make.

Team

Shaheriar Malik

Ryan Giron

Jason Shweiri

Simraj Singh

Usage

Presentation & Demo: https://drive.google.com/file/d/1-gDAlHooiEgJDuP0PUZRHVe0r1-B_3Xb/view?usp=sharing

How To Build and Run From Source

In the project directory, you can run:

cd chessboard

flutter build web

This creates a directory called build and inside it is another directory called web

in this folder (chessboard/build/web) run npm serve

open http://localhost:3000 in Google Chrome

python server.py

python servergame.py

How To Run

Because the build and run process can be tedious we have made a batch file to automate the commands to make it run

script.sh

This will run both the python scripts as well as npm serve and open Google Chrome.

Diagrams

Dependencies

Flutter 2 (only to build from source)

Python 3

– chess==1.7.0

– SimpleWebSocketServer==0.1.1

– websockets==10.1

Google Chrome or Microsoft Edge

GitHub

View Github