Професійний шаховий бот з рушієм Stockfish, що грає на різних рівнях складності - від дитячого до гросмейстерського. Повна підтримка української мови!
💡 Рекомендація: Для найкращої візуалізації використовуйте iTerm2 (macOS) або Kitty (Linux/macOS) - PNG зображення дошки будуть відображатися прямо в терміналі! Для інших терміналів зображення відкриватиметься в Preview з автооновленням.
- 🎯 5 рівнів складності - від дитячого до гросмейстерського рівня
- 🎨 Красива візуалізація - високоякісні PNG зображення (600x600px) прямо в терміналі (iTerm2/Kitty)
- 🖼️ Графічний експорт - збереження позиції як PNG/SVG зображення
- 💾 Збереження партій - експорт в PGN форматі для аналізу на Chess.com, Lichess
- 💬 Українська мова - повна підтримка української мови для ходів ("пішак на е4", "кінь на ф3")
- 🔤 Українські літери - можна вводити ходи українськими літерами (е4, д4, ф3)
- 📝 Українська анотація - бот пояснює ходи: "Ng3+ (Кінь на g3, шах!)"
- 🔄 Гнучкість вводу - підтримка різних форматів нотації (SAN, UCI, дефіс)
- 💡 Підказки - отримуйте підказки з оцінкою позиції після ходу бота
- 🎭 Вибір кольору - грайте білими або чорними
- 📋 Підтримка FEN - продовжуйте гру з будь-якої позиції
- 🔍 Аналіз позиції - отримуйте оцінку та найкращі ходи
- ⚡ Підсвітка ходів - візуалізація останнього зробленого ходу
macOS:
brew install stockfishUbuntu/Debian:
sudo apt-get install stockfishWindows: Завантажте з stockfishchess.org
pip install -r requirements.txtабо встановіть окремо:
pip install chess stockfish coloramapython main.pyабо зробіть файл виконуваним:
chmod +x main.py
./main.pyНа початку гри ви можете обрати один з 5 рівнів складності:
| Рівень | Skill Level | Глибина | Час на хід | Опис |
|---|---|---|---|---|
| 🐣 Дитячий | 1 | 5 | 0.5с | Для початківців та дітей |
| 🟢 Легкий | 5 | 8 | 1.0с | Базовий рівень |
| 🟡 Середній | 10 | 12 | 1.5с | Аматорський рівень |
| 🔴 Важкий | 15 | 16 | 2.0с | Досвідчений гравець |
| 👑 Гросмейстер | 20 | 20 | 2.5с | Максимальний рівень |
Бот підтримує різні способи введення ходів (можна українськими літерами!):
e4 або е4
Nf3 або Кф3
d4 або д4
O-O
e2e4 або е2е4
g1f3 або г1ф3
e7e8q (перетворення пішака)
e2-e4 або е2-е4
g1-f3 або г1-ф3
a7-a8 або а7-а8
пішак на e4 (або на е4)
кінь на f3 (або на ф3)
тура з a1 на a8
ферзь на d5
слон на c4
рокіровка
- Пішак: пішак, пешка, пішачок
- Кінь: кінь, коник, конь
- Слон: слон, офіцер
- Тура: тура, ладя, вежа
- Ферзь: ферзь, королева, дама
- Король: король
help/довідка- показати довідкуmoves/ходи- показати всі можливі ходиhints/підказки- увімкнути/вимкнути підказкиfen- показати FEN поточної позиціїanalyze/аналіз- аналіз поточної позиціїsave/зберегти- зберегти поточну позицію як PNG/SVGsavegame/партія- зберегти партію в PGN форматіresign/здатися- здатисяquit/вийти- вийти з гри
Під час гри ви можете зберегти поточну позицію дошки як зображення:
Ваш хід: зберегти
Оберіть формат:
1. PNG (графічний файл)
2. SVG (векторне зображення)
3. Обидва формати
Ваш вибір (1-3): 1
✓ PNG збережено: saved_boards/board_20250101_153045.png
💾 Позицію успішно збережено!
Особливості:
- 🎨 Високоякісні зображення 600x600 пікселів
- 💡 Підсвітка останнього ходу
- 🔄 Правильна орієнтація дошки (ваш колір знизу)
- 📁 Автоматичне створення папки
saved_boards/ - ⏰ Унікальні назви файлів з часовою міткою
- 🖼️ PNG для соціальних мереж, SVG для масштабування
Ви можете зберегти партію в PGN форматі для подальшого аналізу на Chess.com, Lichess або в шахових програмах:
Ваш хід: партія
✓ Партію збережено: saved_games/game_20250101_153045.pgn
💾 PGN файл можна використати для аналізу в Chess.com, Lichess тощо
Що зберігається в PGN:
- 📋 Інформація про гравців (ви та бот)
- 🎯 Рівень складності бота
- 📅 Дата та час гри
- ♟️ Всі зроблені ходи
- 🏆 Результат партії (перемога/нічия/мат)
- 📁 Автоматичне створення папки
saved_games/
Після завершення гри бот автоматично запропонує зберегти партію!
♔ ШАХОВИЙ БОТ ♚
Оберіть рівень складності:
1. Дитячий - Для початківців та дітей
2. Легкий - Базовий рівень
3. Середній - Аматорський рівень
4. Важкий - Досвідчений гравець
5. Гросмейстер - Максимальний рівень
Ваш вибір (1-5): 3
Обрано рівень: Середній!
♔ ШАХОВИЙ БОТ - РІВЕНЬ: СЕРЕДНІЙ ♚
Оберіть колір фігур:
1. Білі (ходите першим)
2. Чорні (ходите другим)
Ваш вибір (1 або 2): 1
a b c d e f g h
─────────────────────────
8 │ ♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜ │ 8
7 │ ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟ │ 7
6 │ │ 6
5 │ │ 5
4 │ │ 4
3 │ │ 3
2 │ ♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙ │ 2
1 │ ♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖ │ 1
─────────────────────────
a b c d e f g h
Ваш хід: е4
🤖 Бот думає...
Зроблено хід: e5 (Пішак на e5)
💡 Підказки (кращі ходи):
1. Nf3 (кінь на f3) │ +0.3 (невелика перевага)
2. Nc3 (кінь на c3) │ +0.2 (рівна позиція)
Ваш хід: кінь на ф3
Ваш хід: аналіз
Аналізую позицію...
────────────────────────────────────────
Оцінка позиції: +0.35
Найкращий хід: Nf3 (g1f3)
Глибина аналізу: 15
────────────────────────────────────────
Відредагуйте config.py для зміни налаштувань:
# Шлях до Stockfish (якщо не в PATH)
STOCKFISH_PATH = "stockfish" # або "/usr/local/bin/stockfish"
# Глибина аналізу (більше = сильніше, але повільніше)
STOCKFISH_DEPTH = 20
# Час на хід (секунди)
STOCKFISH_TIME = 2.0
# Рівень майстерності (0-20, 20 = найсильніший)
STOCKFISH_SKILL_LEVEL = 20chessbot/
├── main.py # Головний файл гри
├── chess_engine.py # Модуль роботи зі Stockfish
├── board_visualizer.py # Візуалізація дошки
├── move_parser.py # Парсинг людської мови
├── config.py # Конфігурація
├── requirements.txt # Залежності Python
└── README.md # Ця інструкція
Ви можете продовжити гру з будь-якої позиції, використовуючи FEN нотацію:
Налаштування гри:
1. Нова гра (стандартна позиція)
2. Продовжити з FEN позиції
Ваш вибір (1 або 2): 2
Введіть FEN: rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1
MIT License - дивіться файл LICENSE для деталей.
Вітаємо внески! Якщо у вас є ідеї для покращення:
- Зробіть Fork проекту
- Створіть нову гілку (
git checkout -b feature/AmazingFeature) - Закомітьте зміни (
git commit -m 'Додав чудову функцію') - Запуште в гілку (
git push origin feature/AmazingFeature) - Відкрийте Pull Request
- Stockfish - один з найсильніших шахових рушіїв у світі
- python-chess - бібліотека для роботи з шахами в Python
- Rich - красиві таблиці та панелі в терміналі
- colorama - кольоровий вивід у консолі
- CairoSVG - конвертація SVG в PNG
Приємної гри! ♟️ Слава Україні! 🇺🇦
