Шахматы v.0.0.2 для aCMS 1.9.8
Основной файл: Шахматы для AlphaCMS 1.9.8

Описание:
## Кратко
- Завершена доработка классических правил (включая тайм-аут ничья при отсутствии у соперника матматериала).
- Консолидация фронтенда в один файл `assets/js/app.js` с оптимизированной логикой и проверками.
- Убран лишний/неиспользуемый код. Удалены устаревшие JS-модули.
- Интерфейс обновлен: бейджи статусов на доске, без мерцаний при опросе.
## Фронтенд
- Единый скрипт: `games/chess/assets/js/app.js` (заменяет все прежние модули).
- Анти-фликер: при `update:0` не перерисовывается вся доска — применяются только подсветки/бейджи.
- Бейджи статусов:
- `.sq-badge` на клетке (ШАХ/МАТ и т.п.).
- `.board-badge` на доске (результат: 1-0, 0-1, 1/2).
- Сохраняются точки-цели ходов при обновлениях (без срывов взаимодействия).
- Встроенные диалоги подтверждения и выбора промоции (без внешних оверлеев).
- Скрыт/info-bar и удалены неиспользуемые оверлеи.
- Подключение на странице: `games/chess/game.php` → `<script src='/games/chess/assets/js/app.js?v=1'></script>`.
## Бэкенд
- `games/chess/lib/Chess.php`:
- Добавлен `hasMatingMaterial(state, color)` для проверки матматериала.
- `games/chess/classes/api.php`:
- В `poll()` тайм-аут засчитывается как ничья, если у соперника нет матматериала; иначе — поражение по времени.
- В `move()` остаются и проверены аджудикации: мат, пат, недостаточный материал, 50/75-ходов и 3/5-кратное повторение.
## Чистка кода
Удалены неиспользуемые файлы после консолидации:
- `games/chess/assets/js/entry.js`
- `games/chess/assets/js/board.js`
- `games/chess/assets/js/clocks.js`
- `games/chess/assets/js/dom-utils.js`
- `games/chess/assets/js/notifications.js`
- `games/chess/assets/js/state.js`
- `games/chess/assets/api/chessApi.js`
`game.php` теперь подключает только `assets/js/app.js`. Ссылок на удаленные файлы в коде не осталось.
## Проверки
- Поиск по репозиторию не выявил ссылок на удаленные файлы (кроме заметки в `assets/backup/README.txt`).
- Визуальный смоук-тест: обновление без мерцаний; бейджи статусов корректно отображаются.
## Рекомендации далее
- При будущих правках `app.js` увеличивать параметр версии (`?v=`) для сброса кэша.
- Добавить автотесты на сервере для сценариев: тайм-аут+нет матматериала, 50/75-ходов, 3/5-кратное повторение.
Реальное имя: chess.zip
Загружен: 13.08.2025 в 14:03
Последнее обновление: 13 авг 2025, в 18:33
Размер: 50.3 Kb
Выложил:
iTeffa
Проверил:
Ramirez

Описание:
## Кратко
- Завершена доработка классических правил (включая тайм-аут ничья при отсутствии у соперника матматериала).
- Консолидация фронтенда в один файл `assets/js/app.js` с оптимизированной логикой и проверками.
- Убран лишний/неиспользуемый код. Удалены устаревшие JS-модули.
- Интерфейс обновлен: бейджи статусов на доске, без мерцаний при опросе.
## Фронтенд
- Единый скрипт: `games/chess/assets/js/app.js` (заменяет все прежние модули).
- Анти-фликер: при `update:0` не перерисовывается вся доска — применяются только подсветки/бейджи.
- Бейджи статусов:
- `.sq-badge` на клетке (ШАХ/МАТ и т.п.).
- `.board-badge` на доске (результат: 1-0, 0-1, 1/2).
- Сохраняются точки-цели ходов при обновлениях (без срывов взаимодействия).
- Встроенные диалоги подтверждения и выбора промоции (без внешних оверлеев).
- Скрыт/info-bar и удалены неиспользуемые оверлеи.
- Подключение на странице: `games/chess/game.php` → `<script src='/games/chess/assets/js/app.js?v=1'></script>`.
## Бэкенд
- `games/chess/lib/Chess.php`:
- Добавлен `hasMatingMaterial(state, color)` для проверки матматериала.
- `games/chess/classes/api.php`:
- В `poll()` тайм-аут засчитывается как ничья, если у соперника нет матматериала; иначе — поражение по времени.
- В `move()` остаются и проверены аджудикации: мат, пат, недостаточный материал, 50/75-ходов и 3/5-кратное повторение.
## Чистка кода
Удалены неиспользуемые файлы после консолидации:
- `games/chess/assets/js/entry.js`
- `games/chess/assets/js/board.js`
- `games/chess/assets/js/clocks.js`
- `games/chess/assets/js/dom-utils.js`
- `games/chess/assets/js/notifications.js`
- `games/chess/assets/js/state.js`
- `games/chess/assets/api/chessApi.js`
`game.php` теперь подключает только `assets/js/app.js`. Ссылок на удаленные файлы в коде не осталось.
## Проверки
- Поиск по репозиторию не выявил ссылок на удаленные файлы (кроме заметки в `assets/backup/README.txt`).
- Визуальный смоук-тест: обновление без мерцаний; бейджи статусов корректно отображаются.
## Рекомендации далее
- При будущих правках `app.js` увеличивать параметр версии (`?v=`) для сброса кэша.
- Добавить автотесты на сервере для сценариев: тайм-аут+нет матматериала, 50/75-ходов, 3/5-кратное повторение.
Реальное имя: chess.zip
Загружен: 13.08.2025 в 14:03
Последнее обновление: 13 авг 2025, в 18:33
Размер: 50.3 Kb
Выложил:

Проверил:

Адм

Авторизируйтесь для просмотра комментариев