This is a chess application built using the Flutter framework. The app allows you to play chess against a computer opponent that uses the MiniMax algorithm.
- Play Against Bot: Challenge yourself against a computer opponent powered by the MinMax algorithm.
- Intuitive UI: Enjoy a clean and user-friendly interface designed with Flutter.
- Move Highlights: Visual indicators for possible moves and checks.
To get started with chess, follow these steps:
-
Clone the Repository:
git clone https://github.com/emeleonufavour/chess.git cd chess
-
Install Dependencies: Ensure you have Flutter installed on your system. Then, run:
flutter pub get
-
Run the App: Connect a device or start an emulator, then execute:
flutter run
The Computer opponent uses the MinMax algorithm with alpha-beta pruning to determine the best move. The depth of the algorithm can be adjusted in the makeBotMove() function in lib/services/chess_service.dart to increase or decrease the difficulty level of the AI.
- Multiple difficulty level option in the UI
- P2P Multiplayer support
- Previous Move Highlight
Feel free to contribute to the project. Here is how to contribute:
-
Fork the Repository:
git clone https://github.com/emeleonufavour/chess.git cd chess
-
Clone your fork:
git clone https://github.com/emeleonufavour/chess.git cd chess
-
Create a branch:
git checkout -b feature-branch
-
Make Your Changes: Implement your feature or bugfix.
-
Commit your changes:
git commit -m "Describe your changes"
-
Push your fork:
git push origin feature-branch
-
Create a Pull Request: Open a pull request to the main repository.