Skip to content

A JavaScript chess engine featuring interactive gameplay, AI opponent with adjustable ELO, and real-time position analysis. Built with React.

License

Notifications You must be signed in to change notification settings

scar17off/chess-analysis-engine

Repository files navigation

Chess Analysis Engine ♟️

GitHub JavaScript Version GitHub stars GitHub forks GitHub issues GitHub pull requests GitHub last commit GitHub repo size GitHub contributors GitHub commit activity GitHub code size in bytes

An interactive chess game with built-in analysis engine and customizable AI opponent. Play against the computer, analyze positions, and improve your chess skills. 🎮 🤖

Features ✨

  • Interactive chess board with legal move validation ♟️
  • Customizable AI opponent with adjustable strength (ELO rating) 🤖
  • Real-time position analysis 📊
  • Opening book integration 📚
  • Move quality evaluation 🎯
  • Complete move history with annotations 📝
  • Free mode for position analysis 🔍
  • Multiple engine modes (depth-based and time-based) ⚙️

Game Modes 🎮

vs Computer 🤖

Play against an AI opponent with adjustable strength from beginner to master level. The AI's playing strength can be fine-tuned using the ELO rating slider in settings.

Free Mode 🔓

Analyze positions freely by moving pieces for both sides. This mode is perfect for studying specific positions or recreating games.

Analysis Features 📊

  • Real-time position evaluation 📈
  • Move suggestions with quality indicators 💡
  • Opening book recognition 📚
  • Move quality assessment (Brilliant, Great, Good, Inaccuracy, Mistake, Blunder) ⭐
  • Complete game history with annotations 📝

Settings ⚙️

Game Settings 🎮

  • Free Mode toggle 🔓
  • Opponent strength adjustment (ELO rating) 💪
  • Opening book usage toggle 📚

Analysis Engine Settings 🔧

  • Engine mode selection (Depth/Time based) ⚙️
  • Analysis power adjustment 🔋
  • Engine statistics display (ELO, Rank, Depth/Time) 📊

Technical Details 💻

Built with:

  • React ⚛️
  • HTML5 Canvas 🎨
  • Font Awesome icons 🎯
  • Custom chess engine ♟️

Getting Started 🚀

  1. Clone the repository 📥
  2. Install dependencies:```bash npm install
3. Start the development server:
```bash
npm start

Contributing 🤝

Contributions are welcome! Please feel free to submit a Pull Request.

License 📄

This project is licensed under the MIT License - see the LICENSE.md file for details.