chess.php
— консольный проигрыватель шахматных партий.
Программа получает ходы игроков в качестве аргументов и выводит
состояние доски с фигурами после этих ходов.
Например:
$ php chess.php e2-e4 e7-e5
8 ♜♞♝♛♚♝♞♜
7 ♟♟♟♟-♟♟♟
6 --------
5 ----♟---
4 ----♙---
3 --------
2 ♙♙♙♙-♙♙♙
1 ♖♘♗♕♔♗♘♖
abcdefgh
В текущем виде chess.php
никак не проверяет правильность ходов.
Склонируйте исходный код себе на компьютер. После выполнения каждой задачи надо выполнить коммит. Готовое решение можно выложить на github.com, gitlab.com или другой git-хостинг.
Задача 1: дописать программу таким образом, чтобы она выкидывала исключение при нарушении очерёдности хода (например, два раза подряд ход белых).
Чтобы проверить корректность решения, запустите тесты:
$ ./phpunit.phar --group=rotation
Задача 2: дописать программу таким образом, чтобы она выкидывала исключение при нарушении правил хода пешкой (pawn).
Чтобы проверить корректность решения, запустите тесты:
$ ./phpunit.phar --group=pawn
В тестах проверяются только ходы пешками, для других фигур валидацию ходов делать не нужно.
- Пешка может ходить вперёд (по вертикали) на одну клетку;
- Если пешка ещё ни разу не ходила, она может пойти вперёд на две клетки;
- Пешка не может перепрыгивать через другие фигуры;
- Пешка может бить фигуры противника только по диагонали вперёд на одну клетку;
- Также существует взятие на проходе, но им можно пренебречь :)