Skip to content

nobodysfault/interview.java

 
 

Repository files navigation

Шахматы

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

Например:

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

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

Что нужно сделать

Задача: дописать программу таким образом, чтобы она выкидывала исключение:

  1. При нарушении очерёдности хода (например, два раза подряд ход белых);
  2. При нарушении правил хода пешкой (pawn).

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

$ ./gradlew test

или

$ ./maven_test.sh

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

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

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

Работа с Gradle

Чтобы скомпилировать java-файлы и создать стартовый скрипт приложения, можно воспользоваться командой

$ ./gradlew installApp

Она создаст стартовый скрипт

$ ./build/install/interview.java/bin/interview.java

Работа с Maven

Чтобы скомпилировать и запустить приложение, можно воспользоваться командой

$ ./maven_run.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.1%
  • Shell 0.9%