-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbase_prompt.txt
More file actions
32 lines (32 loc) · 1.97 KB
/
Copy pathbase_prompt.txt
File metadata and controls
32 lines (32 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Необходимо создать функциональный шахматный движок со следующими требованиями:
Основная функциональность:
1. Полная реализация всех правил шахмат (FIDE):
* Все виды ходов фигур (пешка, конь, слон, ладья, ферзь, король)
* Рокировка (короткая и длинная)
* Взятие на проходе (en passant)
* Превращение пешки
* Шах, мат, пат
* Правило 50 ходов
* Троекратное повторение позиции
* Недостаточность материала для мата
2. Поддержка протокола UCI (Universal Chess Interface):
* Команды: uci, isready, ucinewgame, position, go, stop, quit
* FEN нотация для позиций
* Вывод лучшего хода в формате UCI (e2e4, e7e5 и т.д.)
* Параметры поиска (глубина, время)
3. Движок поиска:
* Алгоритм Minimax с альфа-бета отсечением
* Оценочная функция позиции (материал, позиция фигур)
* Настраиваемая глубина поиска
* Упорядочивание ходов для оптимизации
4. Архитектура:
* Модульная структура кода
* Класс для представления доски
* Класс для генерации ходов
* Класс для поиска лучшего хода
* UCI интерфейс
Технические требования:
* Язык: Python 3.8+
* Чистый Python без внешних библиотек для шахматной логики
* Читаемый, документированный код
* Возможность запуска через командную строку