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