This is a Prompt Engineering project for the Data Science course, and the application was built with Gemini-3-Pro. A powerful, modern Chess GUI built with Python and PyQt6, featuring integrated Stockfish analysis, dynamic evaluation visualization, and advanced move classification.
- Game Modes:
- ♟️ PvP: Player vs Player (Local).
- 🤖 PvE: Player vs Engine (Adjustable Difficulty Levels 1-8).
- ⚔️ EvE: Engine vs Engine (Watch Stockfish play against itself).
- Advanced Post-Game Analysis:
- Full game review with move-by-move evaluation.
- Move Classification: Detects Brilliant (!!), Great (!), Best, mistakes(?), and blunders(??).
- Forced Move Detection: Automatically identifies when you had only one legal move.
- Visual Feedback: Dynamic Evaluation Bar (White/Black advantage) and Best Move Arrows.
- Modern Interface:
- Dark Theme with polished UI components.
- Smooth animations and responsive layout.
- PGN History Navigation.
-
Clone the Repository:
git clone https://github.com/yourusername/scacchi.git cd scacchi -
Install Dependencies:
pip install -r requirements.txt
Requires
PyQt6andpython-chess. -
Stockfish Engine:
- Ensure the Stockfish executable is placed in the
engine/directory. - Default path expected:
src/engine/stockfish.exe. - Note: You can configure the engine path in
src/model/engine_thread.pyif needed.
- Ensure the Stockfish executable is placed in the
Run the main application:
python main.py- Analyze Game: After a game ends, click "Analyze Game" to start the engine review.
- Navigation: Use the dashboard buttons to step through moves. The Eval Bar and Board will update automatically.
- Theme: Click the "Theme" button to change board colors.
- Language: Python 3.10+
- GUI Framework: PyQt6
- Chess Logic: python-chess
- Engine: Stockfish (UCI Protocol)
This project is licensed under the MIT License - see the LICENSE file for details.

