Skip to content

s16121986/interview-chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Шахматы

chess.php — консольный проигрыватель шахматных партий. Программа получает ходы игроков в качестве аргументов и выводит состояние доски с фигурами после этих ходов.

Например:

$ php chess.php e2-e4 e7-e5
8 ♜♞♝♛♚♝♞♜
7 ♟♟♟♟-♟♟♟
6 --------
5 ----♟---
4 ----♙---
3 --------
2 ♙♙♙♙-♙♙♙
1 ♖♘♗♕♔♗♘♖
  abcdefgh

В текущем виде chess.php никак не проверяет правильность ходов.

Задача 1

Провести CodeReview, привести код в соответствие с принципами ООП и стандартами разработки (можно менять все, что считаете нужным)

Задача 2

дописать программу таким образом, чтобы она выкидывала исключение при нарушении очерёдности хода (например, два раза подряд ход белых).

Чтобы проверить корректность решения, запустите тесты:

$ ./vendor/bin/phpunit --group=rotation

Задача 3

дописать программу таким образом, чтобы она выкидывала исключение при нарушении правил хода пешкой (pawn).

Чтобы проверить корректность решения, запустите тесты:

$ ./vendor/bin/phpunit --group=pawn

В тестах проверяются только ходы пешками, для других фигур валидацию ходов делать не нужно.

Как ходит пешка

  • Пешка может ходить вперёд (по вертикали) на одну клетку;
  • Если пешка ещё ни разу не ходила, она может пойти вперёд на две клетки;
  • Пешка не может перепрыгивать через другие фигуры;
  • Пешка может бить фигуры противника только по диагонали вперёд на одну клетку;
  • Также существует взятие на проходе, но им можно пренебречь :)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages